<<link "Go back" $passage>><</link>>
<<nobr>><<StatsUpdater>>
<div class="breakthrough-container">
<div class="breakthrough-header">
<h2>Breakthrough</h2>
<p>Channel your qi, face the heavens, and ascend to new heights!</p>
</div>
<img src="images/Story/breakthrough.png" class="breakthrough-portrait" alt="Cultivation Breakthrough">
<<Breakthrough>>
</div>
<</nobr>>
<div class="tab-nav">
<<link "Achievements" "Achievements">><</link>><<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
</div><<BreakthroughEvent>><<if $a eq 0>>
<<nobr>>
<div class="flex-container"><img src="images/Character/fmc.png" style="float: left;"><div>
<br><b>Surname:</b> $playersurname <b>Lifespan</b> : $lifespan / $maxlifespan
<br><b>Name:</b> $playername <b>Sex</b>: Female
<br><b>Charisma:</b>
<br><b>Realm:</b> <<cultivationStatus>>
<br><b>Internal Trait:</b> <span id="internalDisplay"><<= $internalTrait>></span>
<br><<for _index, _trait range $internalOptions>>
<<capture _t = _trait>>
<<link _trait>><<set $internalTrait to _trait>>
<<replace "#internalDisplay">><<=$internalTrait>>
<</replace>>
<</link>>
<</capture>>
<</for>>
<br><b>External Trait:</b> <span id="externalDisplay"><<= $externalTrait>></span>
<br><<for $index, _trait range $externalOptions>>
<<capture _t=_trait>>
<<link _trait>><<set $externalTrait to _trait>>
<<replace "#externalDisplay">><<=$externalTrait>>
<</replace>>
<</link>>
<</capture>>
<</for>>
</div>
<</nobr>>
<div style="text-align: center;">
Please choose your desired traits!
<<link "Stats" "Character Creation 2">><<set $a to 1>><</link>></div>
<<elseif $a eq 1>>
<div class="flex-container"><img src="images/Character/fmc.png" style="float: left;">
<div>
<b><<link "⟳" "Character Creation 2">> <<set $destinyList.shuffle()>><<set $playerDestiny = []>><<updateDestinyStats>><</link>> Destiny </b> <i>Select 3 initial desitinies</i>
<i>selected destinies:</i><<for _a to 0; _a lt $playerDestiny.length; _a++>> <<print _a + 1>>.<<capture _a>><<link $playerDestiny[_a].name "Character Creation 2">><<set $playerDestiny.delete($playerDestiny[_a])>><<updateDestinyStats>><</link>><</capture>> <</for>>
<table class="destiny-table">
<<for _d to 0; _d lt 6; _d++>>
<<set _destiny = $destinyList[_d]>>
<td><<hovertip ` '$destinyList[_d].description'`>>
<<capture _d>>
<<nobr>>
<<if $destinyList[_d].rarity is "Red">>🔴<<elseif $destinyList[_d].rarity is "Purple">>🟣<<elseif $destinyList[_d].rarity is "Orange">>🟠<<elseif $destinyList[_d].rarity is "Grey">>⚪<<elseif $destinyList[_d].rarity is "Green">>🟢<<elseif $destinyList[_d].rarity is "Blue">>🔵<</if>>
<<set _alreadyChosen to false>>
<<for _i to 0; _i lt $playerDestiny.length; _i++>>
<<if $playerDestiny[_i].name == $destinyList[_d].name>>
<<set _alreadyChosen to true>>
<</if>>
<</for>>
<<if not _alreadyChosen>>
<<link $destinyList[_d].name "Character Creation 2">>
<<if $playerDestiny.length < 3>>
<<set $playerDestiny.push($destinyList[_d])>>
<<updateDestinyStats>>
<</if>>
<</link>>
<<else>>
<span style="opacity: 0.5;">$destinyList[_d].name</span>
<</if>>
<</nobr>>
<</capture>> <</hovertip>>
</td>
<</for>>
</table>
<p>
<table class="small-table">\
<tr>\
<th>General</th>
<th>Combat</th>
</tr>
<tr>
<td>
<b>🧬 Lifespan:</b> <<=$lifespan>> / <<=$maxlifespan>>
<b>❤️ Health:</b> <<=$health>> / <<=$maxhealth>>
<b>⚡ Energy:</b> <<=$energy>> / <<=$maxenergy>>
<b>🍀 Luck:</b> <<=$luck>>
<b>🧠 Insight:</b> <<=$insight>>
<b>💪 Strength:</b> <<=$basestrength>>
<b>🌀 Willpower:</b> <<=$basewillpower>>
<b>🧘♂️ Energy Recovery:</b> <<print $energyRecovery * 100>>%
</td>
<td>
<b>🗡️ Attack:</b> <<=$atk>>
<b>🛡️ Defense:</b> <<=$def>>
<b>💥 Crit Rate:</b> <<=$crit>>%
<b>🛑 Crit Resist</b>: <<=$critres>>%
<b>👟 Agility</b>: <<=$agility>>
<b>🥋 Martial Arts:</b> <<=$martialArts>>
<b>🌌 Spiritual Root:</b> <<=$spiritualRoot>>
<b>🩸 Health Recovery:</b> <<print $healthRecovery * 100>>%
</td>
</tr>
</table></p></div></div><</if>>
<<if $playerDestiny.length eq 3>><<link "Continue" "Intro">><<set $pe to 0>><<set $verystart to 1>><</link>><</if>>\
<div class="name-box">
<p>Enter your name and surname, or let fate decide.</p>
<<textbox "$playersurname" $playersurname>> <<link "<b>⟳</b>">> <<set $playersurname to $playersurnameList.random()>> <<run document.getElementById("textbox-playersurname").value = SugarCube.State.active.variables.playersurname>><</link>>
<<textbox "$playername" $playername>> <<link "<b>⟳</b>">> <<set $playername to $playernameList.random()>> <<run document.getElementById("textbox-playername").value = SugarCube.State.active.variables.playername>><</link>>
<div class="name-button">
<<link "Use This Name">>
<<goto "Character Creation 2">><<set $a to 0>>
<</link>>
</div>
</div>
<<set $internalTrait to $internalOptions.random()>>
<<set $externalTrait to $externalOptions.random()>>rarity(high to low) - red, purple, orange, grey, green, blue
<<set $playerDestiny to []>>
BLANKDESTINY = [
{
"name": "NAME",
"rarity": "COLOR",
"description": "DESCRIPTION",
"destinyatk": 0,
"destinydef": 0,
"destinycrit": 0,
"destinycritres": 0,
"destinyagility": 0,
"destinymartialArts": 0,
"destinyspiritualRoot": 0,
"righteousreputation": 0,
"demonicreputation": 0,
"destinylifespan": 0,
"destinyenergy": 0,
"destinyhealth": 0,
<<set $destinyList = [
{
"name": "Child of Flame",
"rarity": "Red",
"description": "Born with the power of fire. Your soul burns brighter than others.",
"destinyatk": 5,
"destinydef": 2,
"destinycrit": 3,
"destinycritres": 0,
"destinyagility": 1,
"destinymartialArts": 0,
"destinyspiritualRoot": 5,
"righteousreputation": 5,
"demonicreputation": 0,
"destinylifespan": 0,
"destinyenergy": 10,
"destinyhealth": 0
},
{
"name": "Silent Blade",
"rarity": "Blue",
"description": "Trained in the shadows, you strike before anyone senses danger.",
"destinyatk": 3,
"destinydef": 1,
"destinycrit": 5,
"destinycritres": 2,
"destinyagility": 5,
"destinymartialArts": 4,
"destinyspiritualRoot": 0,
"righteousreputation": 0,
"demonicreputation": 5,
"destinylifespan": 0,
"destinyenergy": 5,
"destinyhealth": 0
},
{
"name": "Heaven's Oracle",
"rarity": "Purple",
"description": "Blessed with divine foresight, your insight shapes the world.",
"destinyatk": 1,
"destinydef": 0,
"destinycrit": 0,
"destinycritres": 3,
"destinyagility": 0,
"destinymartialArts": 0,
"destinyspiritualRoot": 8,
"righteousreputation": 10,
"demonicreputation": 0,
"destinylifespan": 50,
"destinyenergy": 20,
"destinyhealth": 0
},
{
"name": "Cursed Survivor",
"rarity": "Grey",
"description": "You lived, but something dark clings to your soul.",
"destinyatk": 2,
"destinydef": 3,
"destinycrit": 0,
"destinycritres": 4,
"destinyagility": 1,
"destinymartialArts": 1,
"destinyspiritualRoot": 0,
"righteousreputation": -5,
"demonicreputation": 10,
"destinylifespan": -10,
"destinyenergy": 0,
"destinyhealth": 20
},
{
"name": "Wandering Fist",
"rarity": "Green",
"description": "A martial nomad who trains endlessly under the open sky.",
"destinyatk": 3,
"destinydef": 3,
"destinycrit": 2,
"destinycritres": 1,
"destinyagility": 3,
"destinymartialArts": 6,
"destinyspiritualRoot": 0,
"righteousreputation": 3,
"demonicreputation": 0,
"destinylifespan": 10,
"destinyenergy": 5,
"destinyhealth": 10
},
{
"name": "Undying Will",
"rarity": "Orange",
"description": "Even death cannot stop your pursuit of purpose.",
"destinyatk": 2,
"destinydef": 5,
"destinycrit": 0,
"destinycritres": 5,
"destinyagility": 0,
"destinymartialArts": 2,
"destinyspiritualRoot": 3,
"righteousreputation": 0,
"demonicreputation": 5,
"destinylifespan": 100,
"destinyenergy": 0,
"destinyhealth": 30
},
{
"name": "Scholar of Forbidden Tomes",
"rarity": "Purple",
"description": "You’ve studied secrets mortals weren’t meant to know.",
"destinyatk": 0,
"destinydef": 1,
"destinycrit": 2,
"destinycritres": 2,
"destinyagility": 0,
"destinymartialArts": 0,
"destinyspiritualRoot": 10,
"righteousreputation": -3,
"demonicreputation": 10,
"destinylifespan": 60,
"destinyenergy": 30,
"destinyhealth": -10
},
{
"name": "Mountainheart",
"rarity": "Blue",
"description": "You are as resilient and unyielding as stone.",
"destinyatk": 2,
"destinydef": 8,
"destinycrit": 0,
"destinycritres": 5,
"destinyagility": -2,
"destinymartialArts": 2,
"destinyspiritualRoot": 0,
"righteousreputation": 3,
"demonicreputation": 0,
"destinylifespan": 20,
"destinyenergy": 0,
"destinyhealth": 30
},
{
"name": "Eyes of the Hawk",
"rarity": "Green",
"description": "Nothing escapes your gaze, no motion goes unnoticed.",
"destinyatk": 1,
"destinydef": 1,
"destinycrit": 6,
"destinycritres": 1,
"destinyagility": 4,
"destinymartialArts": 2,
"destinyspiritualRoot": 1,
"righteousreputation": 0,
"demonicreputation": 0,
"destinylifespan": 0,
"destinyenergy": 0,
"destinyhealth": 0
},
{
"name": "Golden Child",
"rarity": "Orange",
"description": "You were born destined for greatness. The heavens favor you.",
"destinyatk": 3,
"destinydef": 3,
"destinycrit": 3,
"destinycritres": 3,
"destinyagility": 3,
"destinymartialArts": 3,
"destinyspiritualRoot": 3,
"righteousreputation": 10,
"demonicreputation": 0,
"destinylifespan": 50,
"destinyenergy": 15,
"destinyhealth": 15
},
{
"name": "Corrupt Apostle",
"rarity": "Red",
"description": "You speak for powers from beyond. Their whispers guide you.",
"destinyatk": 5,
"destinydef": 0,
"destinycrit": 4,
"destinycritres": 0,
"destinyagility": 1,
"destinymartialArts": 2,
"destinyspiritualRoot": 7,
"righteousreputation": -15,
"demonicreputation": 25,
"destinylifespan": 10,
"destinyenergy": 20,
"destinyhealth": 0
},
{
"name": "Beastkin Bloodline",
"rarity": "Grey",
"description": "Somewhere in your ancestry, a feral power sleeps.",
"destinyatk": 4,
"destinydef": 2,
"destinycrit": 2,
"destinycritres": 1,
"destinyagility": 4,
"destinymartialArts": 4,
"destinyspiritualRoot": -1,
"righteousreputation": -2,
"demonicreputation": 2,
"destinylifespan": -5,
"destinyenergy": 0,
"destinyhealth": 15
},
{
"name": "Royal Lineage",
"rarity": "Purple",
"description": "Blue blood flows through your veins. Expectations weigh heavily.",
"destinyatk": 2,
"destinydef": 3,
"destinycrit": 2,
"destinycritres": 2,
"destinyagility": 2,
"destinymartialArts": 1,
"destinyspiritualRoot": 4,
"righteousreputation": 7,
"demonicreputation": -1,
"destinylifespan": 10,
"destinyenergy": 10,
"destinyhealth": 10
},
{
"name": "Exiled Monk",
"rarity": "Green",
"description": "Once devoted, now wandering and awakened by hardship.",
"destinyatk": 1,
"destinydef": 2,
"destinycrit": 0,
"destinycritres": 3,
"destinyagility": 3,
"destinymartialArts": 6,
"destinyspiritualRoot": 2,
"righteousreputation": 4,
"demonicreputation": 0,
"destinylifespan": 10,
"destinyenergy": 5,
"destinyhealth": 10
},
{
"name": "Soul Parasite",
"rarity": "Red",
"description": "You survived something you shouldn’t have. It still lives in you.",
"destinyatk": 6,
"destinydef": 0,
"destinycrit": 3,
"destinycritres": 0,
"destinyagility": 1,
"destinymartialArts": 0,
"destinyspiritualRoot": 8,
"righteousreputation": -10,
"demonicreputation": 20,
"destinylifespan": -20,
"destinyenergy": 20,
"destinyhealth": -10
},
{
"name": "Frostborn Nomad",
"rarity": "Blue",
"description": "Raised in cold silence, your heart beats like permafrost.",
"destinyatk": 3,
"destinydef": 5,
"destinycrit": 1,
"destinycritres": 4,
"destinyagility": 2,
"destinymartialArts": 1,
"destinyspiritualRoot": 1,
"righteousreputation": 1,
"demonicreputation": 0,
"destinylifespan": 5,
"destinyenergy": 5,
"destinyhealth": 10
},
]>><<nobr>>
<div class="hstatus-container">
<h2 class="hstatus-title">Yin Essence Record</h2>
<p class="hstatus-subtitle">Secret chronicles of your body's refinement...</p>
<div class="hstatus-content">
<!-- Virginity Status -->
<div class="hstatus-section virginity">
<div class="hstatus-label">Purity Seal</div>
<<if $virginity eq 1>>
<div class="hstatus-value pristine">
<strong>Intact</strong><br>
<span class="hstatus-desc">Your primal yin remains sealed - a treasure coveted by dual cultivators.</span>
</div>
<<else>>
<div class="hstatus-value defiled">
<strong>Broken</strong><br>
<span class="hstatus-desc">First taken by: <em><<print $virginityLost>></em><br>
The memory lingers in your meridians like lingering yang fire.</span>
</div>
<</if>>
</div>
<!-- Anal Virginity (Optional - Add if you track it) -->
<<if $analVirginity neq null>>
<div class="hstatus-section">
<div class="hstatus-label">Rear Path</div>
<<if $analVirginity eq 1>>
<div class="hstatus-value pristine">Untouched</div>
<<else>>
<div class="hstatus-value defiled">Explored by: <<print $analVirginityLost>></div>
<</if>>
</div>
<</if>>
<!-- Sex Fame -->
<div class="hstatus-section">
<div class="hstatus-label">Carnal Renown</div>
<div class="hstatus-value fame">
<<print $sexFame>><br>
<<if $sexFame gte 500>>
<span class="hstatus-desc">A seductress whispered of in forbidden tales.</span>
<<elseif $sexFame gte 200>>
<span class="hstatus-desc">Your allure draws hungry eyes across the realms.</span>
<<elseif $sexFame gte 50>>
<span class="hstatus-desc">Rumors of your beauty begin to spread.</span>
<<else>>
<span class="hstatus-desc">Still a hidden lotus, waiting to bloom.</span>
<</if>>
</div>
</div>
<!-- Add more lewd stats here later (corruption effects, dual cultivation count, etc.) -->
</div>
<div style="text-align:center; margin-top:30px;">
<<link "Return" $passage>><</link>>
</div>
</div>
<div class="tab-nav">
<<link "Achievements" "Achievements">><</link>><<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
</div>
<</nobr>><<link "Go back" $passage>><</link>>
<div class="main-menu-container">
<h2 class="main-title">Path of Ascension</h2>
<<nobr>>
<div class="progress-hint">
<<if $mainStageStarted neq "true">>
<p>You are still wandering the mortal world.<br>
<strong>Explore the map</strong> and seek your destiny.</p>
<<elseif $CurrentPcMainSect is "">>
<p>Your foundation is laid, but you walk alone.<br>
<strong>Seek out a sect</strong> to join a greater path.</p>
<<elseif $CurrentPcSectRank in ["Initiate", "Disciple", "Inner Disciple"]>>
<p>You have entered <<print $CurrentPcMainSect>>, but your standing is low.<br>
<strong>Rise through the ranks</strong> - become a Core or True Disciple.</p>
<<else>>
<p>You are a <<print $CurrentPcSectRank>> of <<print $CurrentPcMainSect>>.<br>
<strong>Await word from your master</strong> - greater trials approach.</p>
<</if>>
</div>
<</nobr>>
<div class="tab-nav">
<<link "Achievements" "Achievements">><</link>><<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
</div><<if $corruption >= $equippedRobe.corruptionLock and $corruption >= $equippedUnderwear.corruptionLock>>
<<link "Go back" $passage>><</link>>
<</if>>
<<nobr>>
<div class="tab-nav">
<<if $corruption >= $equippedRobe.corruptionLock and $corruption >= $equippedUnderwear.corruptionLock>>
<<link "Items">><<goto "Inventory">><<set $pe to 0>><</link>><<link "Potions">><<goto "Inventory">><<set $pe to 1>><</link>><<link "Equipment">><<goto "Inventory">><<set $pe to 2>><</link>><</if>>
</div>
<<if $pe eq 0>>
<div class="spatial-ring-container">
<div class="inventory-header">
<h2>Your Spatial Ring</h2>
<p>Treasures and materials harvested from the myriad realms, stored within this ancient spatial artifact.</p>
</div>
<div class="wealth-display">
<div class="gold-icon">灵</div>
<div class="gold-amount"><<print $gold>> Spirit Stones</div>
</div>
<<if $playeriteminventory.length gt 0>>
<table class="item-inventory-table">
<thead>
<tr>
<th style="width: 80px;"></th>
<th>Item</th>
<th style="width: 120px; text-align: center;">Quantity</th>
</tr>
</thead>
<tbody>
<<for _item range $playeriteminventory>>
<tr class="item-row">
<td style="text-align: center;">
<div class="item-icon">宝</div> <!-- Replace with actual <img> later -->
</td>
<td>
<div class="item-name"><<print _item.name>></div>
<<if _item.description neq null>>
<div class="item-desc"><<print _item.description>></div>
<</if>>
</td>
<td style="text-align: center;">
<div class="quantity-glow"><<print _item.quantity>></div>
</td>
</tr>
<</for>>
</tbody>
</table>
<<else>>
<div class="empty-ring">
<p>Your spatial ring is empty.</p>
<p>Slay spirit beasts, gather heavenly herbs, and plunder ruins to fill it with immortal treasures.</p>
</div>
<</if>>
</div>
<<elseif $pe eq 1>>
<div class="elixir-pouch-container">
<div class="inventory-header">
<h2>Your Elixir Pouch</h2>
<p>Precious pills and spiritual elixirs gathered on your path to immortality.</p>
</div>
<div id="log"></div>
<<if $playerpotioninventory.length gt 0>>
<table class="elixir-inventory-table">
<thead>
<tr>
<th style="width: 80px;"></th>
<th>Elixir</th>
<th style="width: 100px; text-align: center;">Grade</th>
<th style="width: 100px; text-align: center;">Quantity</th>
<th style="width: 120px; text-align: center;">Action</th>
</tr>
</thead>
<tbody>
<<for _potion range $playerpotioninventory>>
<<set _rarityColor to
(_potion.grade <= 1 ? "#4fc3f7" :
_potion.grade <= 3 ? "#66bb6a" :
_potion.grade <= 5 ? "#ffa726" :
"#ab47bc") >> <!-- Blue → Green → Orange → Purple -->
<tr class="elixir-row">
<td style="text-align: center;">
<div class="elixir-icon">丹</div> <!-- Replace with <img src="your-icon-url.png"> later -->
</td>
<td>
<div class="item-name" style="color: <<print _rarityColor>>;"><<print _potion.name>></div>
<<if _potion.description neq null>>
<div class="item-desc"><<print _potion.description>></div>
<</if>>
</td>
<td style="text-align: center; color: <<print _rarityColor>>; font-weight: bold;">
Grade <<print _potion.grade>>
</td>
<td style="text-align: center;">
<div class="quantity-glow"><<print _potion.quantity>></div>
</td>
<td style="text-align: center;">
<<link "Consume">>
<<set $selectedPotion to _potion>>
<<if _potion.quantity lte 0>>
<<set $playerpotioninventory.deleteAt($playerpotioninventory.indexOf(_potion))>>
<</if>>
<<replace "#use-log">>
<div class="use-log success">
<span class="glow-text">Spiritual qi surges!</span><br>
You consume the <<print _potion.name>>. A warm current flows through your meridians...
</div>
<</replace>>
<<useItem>> <!-- Apply your custom effect macro here -->
<</link>>
</td>
</tr>
<</for>>
</tbody>
</table>
<<else>>
<div class="empty-pouch">
<p>Your elixir pouch is empty.</p>
<p>Seek out rare spirit-herbs and profound catalysts to sustain your journey toward immortality.</p>
</div>
<</if>>
<div id="use-log" class="log-area"></div>
</div>
<<elseif $pe eq 2>>
<div class="equipment-container">
<div class="equipment-header">
<h2>Heavenly Armory</h2>
<p>Equip spiritual artifacts and sacred garments to enhance your path to ascension.</p>
</div>
<div class="equipment-grid">
<!-- Robe Slot -->
<div class="equip-slot">
<div class="slot-title">🛡️ Outer Robes</div>
<<if $equippedRobe neq null>>
<div class="equipped-item">
<div class="item-name"><<print $equippedRobe.name>></div>
<div class="item-desc"><<print $equippedRobe.description>></div>
<div class="item-stats">
<<if $equippedRobe.stats neq null>>
<<set _keys to Object.keys($equippedRobe.stats)>>
<<for _i to 0; _i lt _keys.length; _i++>>
<<set _stat to _keys[_i]>>
<<set _val to $equippedRobe.stats[_stat]>>
+<<print _val>> <<print _stat.charAt(0).toUpperCase() + _stat.slice(1)>><br>
<</for>>
<<else>>
No stat bonuses
<</if>>
</div>
<<if $equippedRobe.durability neq null>>
<div>Durability: <<print $equippedRobe.durability>> / <<print $equippedRobe.maxDurability>></div>
<div class="durability-bar">
<div class="durability-fill" style="width: <<print ($equippedRobe.durability / $equippedRobe.maxDurability * 100)>>%;"></div>
</div>
<</if>>
<<if $equippedRobe.name neq "Naked State">><<link "Unequip" "Inventory">><<set $equippedRobe to $nakedState>><</link>><</if>>
</div>
<<else>>
<div class="empty-slot">No robe equipped</div>
<</if>>
<hr style="border:1px dashed #ffd700; margin:20px 0;">
<strong>Available:</strong><br>
<<if $robeInventory neq null && $robeInventory.length gt 0>>
<<for _item range $robeInventory>>
<<capture _item>>
<<if $equippedRobe neq null && $equippedRobe.name is _item.name>>
<span style="color:#888; font-style:italic;"><<print _item.name>> (equipped)</span><br>
<<else>>
<<link "<<print _item.name>>" "Inventory">>
<<set $equippedRobe to _item>>
<</link>><br>
<</if>>
<</capture>>
<</for>>
<<else>>
<i>No robes in inventory</i>
<</if>>
</div>
<!-- Underwear Slot -->
<div class="equip-slot">
<div class="slot-title">🌸 Intimate Layer</div>
<<if $equippedUnderwear neq null>>
<div class="equipped-item">
<div class="item-name"><<print $equippedUnderwear.name>></div>
<div class="item-desc"><<print $equippedUnderwear.description>></div>
<div class="item-stats">
<<if $equippedUnderwear.stats neq null>>
<<set _keys to Object.keys($equippedUnderwear.stats)>>
<<for _i to 0; _i lt _keys.length; _i++>>
<<set _stat to _keys[_i]>>
<<set _val to $equippedUnderwear.stats[_stat]>>
+<<print _val>> <<print _stat.charAt(0).toUpperCase() + _stat.slice(1)>><br>
<</for>>
<<else>>
No stat bonuses
<</if>>
</div>
<<if $equippedUnderwear.name neq "No Underwear">><<link "Unequip" "Inventory">><<set $equippedUnderwear to $noUnderwear>><</link>><</if>>
</div>
<<else>>
<div class="empty-slot">None worn</div>
<</if>>
<hr style="border:1px dashed #ffd700; margin:20px 0;">
<strong>Available:</strong><br>
<<if $underwearInventory neq null && $underwearInventory.length gt 0>>
<<for _item range $underwearInventory>>
<<capture _item>>
<<if $equippedUnderwear neq null && $equippedUnderwear.name is _item.name>>
<span style="color:#888; font-style:italic;"><<print _item.name>> (equipped)</span><br>
<<else>>
<<link "<<print _item.name>>" "Inventory">>
<<set $equippedUnderwear to _item>>
<</link>><br>
<</if>>
<</capture>>
<</for>>
<<else>>
<i>No intimate garments in inventory</i>
<</if>>
</div>
<!-- Weapon Slot -->
<div class="equip-slot">
<div class="slot-title">⚔️ Signature Weapon</div>
<<if $equippedWeapon neq null>>
<div class="equipped-item">
<div class="item-name"><<print $equippedWeapon.name>></div>
<div class="item-desc"><<print $equippedWeapon.description>></div>
<div class="item-stats">
<<if $equippedWeapon.stats neq null>>
<<set _keys to Object.keys($equippedWeapon.stats)>>
<<for _i to 0; _i lt _keys.length; _i++>>
<<set _stat to _keys[_i]>>
<<set _val to $equippedWeapon.stats[_stat]>>
+<<print _val>> <<print _stat.charAt(0).toUpperCase() + _stat.slice(1)>><br>
<</for>>
<<else>>
No stat bonuses
<</if>>
</div>
<<link "Unequip" "Inventory">><<set $equippedWeapon to null>><</link>>
</div>
<<else>>
<div class="empty-slot">Unarmed</div>
<</if>>
<hr style="border:1px dashed #ffd700; margin:20px 0;">
<strong>Available:</strong><br>
<<if $weaponInventory neq null && $weaponInventory.length gt 0>>
<<for _item range $weaponInventory>>
<<capture _item>>
<<if $equippedWeapon neq null && $equippedWeapon.name is _item.name>>
<span style="color:#888; font-style:italic;"><<print _item.name>> (equipped)</span><br>
<<else>>
<<link "<<print _item.name>>" "Inventory">>
<<set $equippedWeapon to _item>>
<</link>><br>
<</if>>
<</capture>>
<</for>>
<<else>>
<i>No weapons in inventory</i>
<</if>>
</div>
<!-- Accessories (3 slots) -->
<div class="equip-slot">
<div class="slot-title">💎 Accessories (3 slots)</div>
<<if $equippedAccessories neq null>>
<<for _i to 0; _i lt 3; _i++>>
<<set _acc to $equippedAccessories[_i]>>
<<capture _i, _acc>>
<<if _acc neq null>>
<div class="equipped-item" style="margin-bottom:15px;">
<div class="item-name">Slot <<print _i + 1>>: <<print _acc.name>></div>
<div class="item-desc"><<print _acc.description>></div>
<div class="item-stats">
<<if _acc.stats neq null>>
<<set _keys to Object.keys(_acc.stats)>>
<<for _j to 0; _j lt _keys.length; _j++>>
<<set _stat to _keys[_j]>>
<<set _val to _acc.stats[_stat]>>
+<<print _val>> <<print _stat.charAt(0).toUpperCase() + _stat.slice(1)>><br>
<</for>>
<<else>>
No stat bonuses
<</if>>
</div>
<<link "Unequip" "Inventory">><<set $equippedAccessories[_i] to null>><</link>>
</div>
<<else>>
<div class="empty-slot">Slot <<print _i + 1>>: Empty</div>
<</if>>
<</capture>>
<</for>>
<<else>>
<div class="empty-slot">No accessories equipped</div>
<</if>>
<hr style="border:1px dashed #ffd700; margin:20px 0;">
<strong>Available:</strong><br>
<<if $accessoryInventory neq null && $accessoryInventory.length gt 0>>
<<for _item range $accessoryInventory>>
<<capture _item>>
<<set _alreadyEquipped to false>>
<<set _equippedSlot to -1>>
<<if $equippedAccessories neq null>>
<<for _i to 0; _i lt 3; _i++>>
<<set _equippedAcc to $equippedAccessories[_i]>>
<<if _equippedAcc neq null && _equippedAcc.name is _item.name>>
<<set _alreadyEquipped to true>>
<<set _equippedSlot to _i>>
<<break>>
<</if>>
<</for>>
<</if>>
<<if _alreadyEquipped>>
<span style="color:#888; font-style:italic;"><<print _item.name>> (equipped in Slot <<print _equippedSlot + 1>>)</span><br>
<<else>>
<<set _freeSlot to -1>>
<<if $equippedAccessories neq null>>
<<for _i to 0; _i lt 3; _i++>>
<<if $equippedAccessories[_i] is null>>
<<set _freeSlot to _i>>
<<break>>
<</if>>
<</for>>
<</if>>
<<if _freeSlot gte 0>>
<<link "<<print _item.name>> → Slot <<print _freeSlot + 1>>" "Inventory">>
<<set $equippedAccessories[_freeSlot] to _item>>
<</link>><br>
<<else>>
<span style="color:#c66;">(All slots full)</span><br>
<</if>>
<</if>>
<</capture>>
<</for>>
<<else>>
<i>No accessories in inventory</i>
<</if>>
</div>
</div>
</div>
<</if>>
<</nobr>>
<div class="tab-nav">
<<if $corruption >= $equippedRobe.corruptionLock and $corruption >= $equippedUnderwear.corruptionLock>>
<<link "Achievements" "Achievements">><</link>><<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
<</if>>
</div><table>
<tr>
<th>Name</th>
<th>Quantity</th>
<th>Action</th>
</tr>
<<for _potion range $playerpotioninventory>>
<tr>
<td><<print _potion.name>></td>
<td><<print _potion.quantity>></td>
<td>
<<link "Use">>
<<set $selectedPotion to _potion>>
<<replace "#log">><</replace>>
<<useItem>>
<</link>>
</td>
</tr>
<</for>>
</table>
<div id="log"></div><div style="max-width:850px; margin:30px auto; line-height:1.8; font-size:1.1em;">
<<set _npc to $currentNPC>>
<h3 style="text-align:center; color:#ffd700; margin-bottom:25px; text-shadow:0 0 10px rgba(255,215,0,0.6);">
Interacting with <<print $currentNPC.fullname>>
</h3>
<!-- TALK -->
<<if $relationAction is "talk">>
<p><<print $currentNPC.fullname>> turns to you, eyes <<if $currentNPC.friendship gte 60>>softening with familiarity<<else>>measuring you carefully<</if>>.</p>
<<if $currentNPC.gender is "female">>
<p><span class="female">"<<print either("What is on your mind, sister?", "You seek me out again... interesting.", "Speak freely. I am listening.", "Your presence brightens this place.")>>"</span></p>
<<else>>
<p><span class="male">"<<print either("What brings you to me?", "State your purpose.", "I have time. Speak.", "Your visits are becoming frequent.")>>"</span></p>
<</if>>
<div id="talk-choices">
<<link "Discuss cultivation">>
<<replace "#talk-choices">>
<p>You share your recent insights on qi circulation and breakthrough difficulties.</p>
<<if $currentNPC.friendship gte 70>>
<p><<print $currentNPC.fullname>> listens intently, then offers thoughtful advice drawn from their own experience.</p>
<p><<if $currentNPC.gender is "female">><span class="female"><<else>><span class="male">
"<<print either("Your foundation is solid. Focus on intent, not force.", "I once faced the same bottleneck. Try circulating reverse for three cycles.", "The Dao rewards patience more than talent.", "You are closer than you think. Trust your dantian.")>>"</span><</if>></p>
<<set $exp += 120>>
<<set $currentNPC.friendship += random(5,12)>>
<<elseif $currentNPC.friendship gte 30>>
<p>They nod occasionally, offering basic tips.</p>
<p><<if $currentNPC.gender is "female">><span class="female"><<else>><span class="male">"Standard methods should suffice at your level."</span><</if>></p>
<<set $exp += 60>>
<<set $currentNPC.friendship += random(3,7)>>
<<else>>
<p>They listen but offer little in return.</p>
<p><<if $currentNPC.gender is "female">><span class="female"><<else>><span class="male">"Such matters are personal. Find your own path."</span><</if>></p>
<<set $currentNPC.friendship += random(1,3)>>
<</if>>
<p>+EXP gained | Friendship <<if $currentNPC.friendship gte 70>>greatly<<elseif $currentNPC.friendship gte 30>>moderately<<else>>slightly<</if>> increased.</p>
<</replace>>
<</link>>
<<link "Ask about their past">>
<<replace "#talk-choices">>
<p>You inquire about their origins and journey.</p>
<<if $currentNPC.internalTrait in ["Wicked", "Selfish", "Evil"]>>
<p>A dark smile plays on their lips as they recount tales of ambition, betrayal, and ruthless advancement.</p>
<<elseif $currentNPC.internalTrait in ["Selfless", "Upstanding", "Kind"]>>
<p>They speak humbly of helping others and overcoming hardship through virtue.</p>
<<else>>
<p>They share a balanced tale of triumphs and losses.</p>
<</if>>
<<if $currentNPC.externalTrait is "Vengeful">>
<p>Their eyes harden when mentioning old enemies. "Some debts can only be paid in blood."</p>
<<elseif $currentNPC.externalTrait is "Romantic">>
<p>A wistful look crosses their face as they recall a lost love.</p>
<<elseif $currentNPC.externalTrait is "Power-hungry">>
<p>"Power is the only truth in this world," they state coldly.</p>
<<elseif $currentNPC.externalTrait is "Family-oriented">>
<p>They speak warmly of siblings or clan members.</p>
<</if>>
<<set $currentNPC.talk += 1>>
<<set $currentNPC.friendship += random(4,10)>>
<</replace>>
<</link>>
<<link "Flirt / Tease">>
<<replace "#talk-choices">>
<<if $currentNPC.depravity gte 40 or $currentNPC.friendship gte 60>>
<p>You lean closer, voice lowering suggestively.</p>
<p><<print $currentNPC.fullname>> <<print either("blushes slightly", "smirks", "meets your gaze steadily", "raises an eyebrow")>>.</p>
<<if $currentNPC.depravity gte 70>>
<p><<if $currentNPC.gender is "female">><span class="female"><<else>><span class="male">
"<<print either("Careful... such words could lead somewhere dangerous.", "Bold. I like that.", "Is that an invitation?", "Keep talking like that and I might not let you leave.")>>"
</span><</if>></p>
<<set $currentNPC.depravity += random(3,8)>>
<<elseif $currentNPC.depravity gte 40>>
<p><<if $currentNPC.gender is "female">><span class="female"><<else>><span class="male">
"<<print either("You are... forward.", "Interesting approach.", "Trying to unsettle me?")>>"
</span><</if>></p>
<<else>>
<p>They clear their throat and change the subject.</p>
<</if>>
<<else>>
<p>Your attempt at flirting falls flat. They respond politely but distantly.</p>
<</if>>
<<set $currentNPC.friendship += random(2,6)>>
<</replace>>
<</link>>
</div>
<<link "Say goodbye">><<goto "RelationsDetailed">><</link>>
<</if>>
<!-- BOND -->
<<if $relationAction is "bond">>
<p>You suggest spending meaningful time together.</p>
<<if $currentNPC.friendship gte 80>>
<p><<print $currentNPC.fullname>> agrees eagerly. You share a quiet meal, watch the sunset from a mountain peak, or meditate side by side.</p>
<p>A deep connection forms - trust solidifies.</p>
<<set $currentNPC.friendship += random(15,25)>>
<<set $exp += 100>>
<<elseif $currentNPC.friendship gte 40>>
<p>They accept. Conversation flows naturally as you walk the sect grounds.</p>
<<set $currentNPC.friendship += random(8,15)>>
<<set $exp += 50>>
<<else>>
<p>They politely decline. "Perhaps another time."</p>
<<set $currentNPC.friendship += random(2,5)>>
<</if>>
<<link "Return">><<goto "RelationsDetailed">><</link>>
<</if>>
<!-- PARTNER -->
<<if $relationAction is "partner">>
<p>You propose becoming cultivation partners - sharing resources, techniques, and possibly more.</p>
<<if $currentNPC.friendship gte 90 and $currentNPC.relationshipType isnot "enemy">>
<p><<print $currentNPC.fullname>>'s eyes shine. "I would be honored to walk this path with you."</p>
<<set $currentNPC.relationshipType to "partner">>
<p>You are now cultivation partners! (Unlocks joint training, shared breakthroughs, possible dual cultivation)</p>
<<elseif $currentNPC.friendship gte 60>>
<p>They consider carefully. "The offer is tempting, but I need more time to know you."</p>
<<set $currentNPC.friendship += 10>>
<<else>>
<p>They shake their head. "We are not yet close enough for such a bond."</p>
<</if>>
<<link "Return">><<goto "RelationsDetailed">><</link>>
<</if>>
<!-- MENTORSHIP -->
<<if $relationAction is "mentorship">>
<<if $currentNPC.realm gt $cultivationRealm or $currentNPC.NPCmartialArts gt $martialArts + 20>>
<p>You humbly request guidance.</p>
<<if $currentNPC.friendship gte 70 and $currentNPC.internalTrait in ["Kind", "Upstanding", "Selfless"]>>
<p>"It would be my pleasure to guide one with such potential."</p>
<<set $currentNPC.mentorshipType to 1>>
<p>You gained a master! (Unlocks advanced techniques, breakthrough assistance)</p>
<<elseif $currentNPC.friendship gte 50>>
<p>"Very well. I will teach you what I can."</p>
<<set $currentNPC.mentorshipType to 1>>
<p>You gained a mentor!</p>
<<else>>
<p>"I do not take students lightly."</p>
<</if>>
<<else>>
<p>You offer to guide them in the Dao.</p>
<<if $currentNPC.friendship gte 60 and $currentNPC.realm lt $cultivationRealm>>
<p>They bow deeply. "This junior would be honored to learn from senior."</p>
<<set $currentNPC.mentorshipType to 2>>
<p>You accepted an apprentice!</p>
<<else>>
<p>They decline gracefully.</p>
<</if>>
<</if>>
<<link "Return">><<goto "RelationsDetailed">><</link>>
<</if>>
<!-- GIFT -->
<<if $relationAction is "gift">>
<p>You present a carefully chosen gift.</p>
<<if $currentNPC.externalTrait is "Glory hound">>
<p>A public, impressive gift would please them most.</p>
<<elseif $currentNPC.externalTrait is "Family-oriented">>
<p>Something sentimental or useful for clan members.</p>
<<elseif $currentNPC.externalTrait is "Romantic">>
<p>A beautiful or intimate item makes their eyes soften.</p>
<</if>>
<p><<print $currentNPC.fullname>> accepts with <<if $currentNPC.friendship gte 50>>genuine pleasure<<else>>polite thanks<</if>>.</p>
<<set $currentNPC.friendship += random(10,25)>>
<<if $currentNPC.depravity gte 60 and $corruption gte 40>>
<p>Their gaze lingers on you with new hunger...</p>
<</if>>
<<link "Return">><<goto "RelationsDetailed">><</link>>
<</if>>
<!-- SPAR -->
<<if $relationAction is "spar">>
<p>You challenge <<print $currentNPC.fullname>> to a friendly duel.</p>
<<if $currentNPC.friendship gte 50 or $currentNPC.externalTrait is "Glory hound">>
<p>"With pleasure!" they accept eagerly.</p>
<p>Techniques clash in a flurry of qi and steel. Sweat glistens, breaths come heavy.</p>
<<if random(1,100) lte 50>>
<p>You emerge victorious! <<print $currentNPC.fullname>> laughs good-naturedly.</p>
<<set $exp += 150>>
<<else>>
<p>They overpower you with superior skill. You learn much from the defeat.</p>
<<set $exp += 100>>
<<set either($insight, $martialArts) += 1>>
<</if>>
<<set $currentNPC.friendship += random(8,18)>>
<<else>>
<p>They decline. "I do not spar lightly."</p>
<</if>>
<<link "Return">><<goto "RelationsDetailed">><</link>>
<</if>>
<!-- DUAL CULTIVATION -->
<<if $relationAction is "dualCultivation">>
<<if $currentNPC.friendship gte 80 and $currentNPC.hadSex neq null and $currentNPC.hadSex eq 1>>
<p>The air thickens with unspoken desire. You suggest merging qi in the most intimate way.</p>
<<if $currentNPC.depravity gte 80>>
<p><<print $currentNPC.fullname>> pulls you close without hesitation. "I've been waiting for this."</p>
<p>(Full NSFW dual cultivation scene - passionate, unrestrained)</p>
<<elseif $currentNPC.depravity gte 50>>
<p>They hesitate only a moment before agreeing, voice husky. "Yes... let us harmonize completely."</p>
<p>(NSFW scene - intense but with some tenderness)</p>
<<else>>
<p>They agree, but with gentle care. "We will take it slow... this is sacred."</p>
<p>(NSFW scene - loving and reverent)</p>
<</if>>
<<set $exp += 400>>
<<set $corruption += random(5,15)>>
<<set $currentNPC.depravity += random(5,12)>>
<p>Major cultivation boost | Deep yin-yang harmony achieved</p>
<<elseif $currentNPC.friendship gte 60 and $currentNPC.depravity gte 40>>
<p>The suggestion hangs heavy. Their eyes darken with interest, but they hold back.</p>
<p>"Tempting... but not yet."</p>
<<set $currentNPC.depravity += random(3,8)>>
<<else>>
<p>They step back, shocked. "Such intimacy requires true trust."</p>
<</if>>
<<link "Return">><<goto "RelationsDetailed">><</link>>
<</if>>
<!-- DEBATE -->
<<if $relationAction is "debate">>
<p>You challenge <<print $currentNPC.fullname>> to a philosophical debate on the nature of the Dao.</p>
<<if $currentNPC.NPCinsight gte $insight + 10>>
<p>Their arguments are sharp and profound. You struggle to keep up.</p>
<p>You gain new perspective despite losing the debate.</p>
<<set $insight += random(1,3)>>
<<set $exp += 80>>
<<elseif $insight gte $currentNPC.NPCinsight + 10>>
<p>Your logic is flawless. They concede multiple points with growing respect.</p>
<<set $currentNPC.friendship += random(10,20)>>
<<set $exp += 120>>
<<else>>
<p>A fierce back-and-forth ensues. Neither gains clear victory, but both learn.</p>
<<set $exp += 100>>
<</if>>
<<link "Return">><<goto "RelationsDetailed">><</link>>
<</if>>
</div><<link "Go back" $passage>><</link>>
<<nobr>>
<<set $currentNPC to []>>
<div class="relations-container">
<h2 class="relations-title">Book of Connections</h2>
<p class="relations-subtitle">Fated encounters across the myriad realms...</p>
<<if $known_npc_list.length lte 0>>
<p style="text-align:center; color:#819ca9; font-style:italic;">You walk a solitary path... no connections yet forged.</p>
<<else>>
<div class="relations-grid">
<<include "RelationsGrid">>
</div>
<!-- Fixed Pagination -->
<<set _pageSize to 7>>
<<set _page to $relationPage || 1>>
<<set _totalPages to Math.ceil($known_npc_list.length / _pageSize)>>
<<if _totalPages > 1>>
<div class="pagination">
<<if _page > 1>>
<<link "« Previous">>
<<set $relationPage to _page - 1>>
<<replace ".relations-grid">><<include "RelationsGrid">><</replace>>
<<replace ".pagination">><<include "RelationsPagination">><</replace>>
<</link>>
<<else>>
<span style="color:#555;">« Previous</span>
<</if>>
<span style="margin:0 20px;">Page <<print _page>> of <<print _totalPages>></span>
<<if _page < _totalPages>>
<<link "Next »">>
<<set $relationPage to _page + 1>>
<<replace ".relations-grid">><<include "RelationsGrid">><</replace>>
<<replace ".pagination">><<include "RelationsPagination">><</replace>>
<</link>>
<<else>>
<span style="color:#555;">Next »</span>
<</if>>
</div>
<</if>>
<</if>>
</div>
<</nobr>>
<div class="tab-nav">
<<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
</div><<link "Go back" $passage>><</link>>
<<nobr>>
<div class="relation-detail-container">
<<set _npc to $currentNPC>>
<div class="relation-header">
<img @src="'images/' + _npc.enemyregion + '/' + _npc.enemyimage + '.jpg'" class="relation-portrait" alt="<<print _npc.fullname>>">
<div class="relation-basics">
<h3><<print _npc.fullname>></h3>
<p><strong>Sex:</strong> <<print _npc.gender>> • <strong>Lifespan:</strong> <<print _npc.NPClifespan>> / <<print _npc.NPCmaxlifespan>></p>
<p><strong>Realm:</strong> <<print _npc.realm>> • <strong>Position:</strong> <<print _npc.NPCrank>> of <<print _npc.sectNPC>></p>
<p><strong>Traits:</strong> <<print _npc.internalTrait>> • <<print _npc.externalTrait>></p>
<p><strong>Location:</strong> <<print _npc.NPClocation>></p>
<p><strong>Relationship:</strong> <<RelationshipType>></p>
</div>
</div>
<p class="relation-flavor">
You've heard that <<print _npc.fullname>> is currently at <<print _npc.NPClocation>>.
</p>
<<if $region eq _npc.NPClocation>>
<div class="tab-nav">
<<link "Talk">><<goto "Relations Interactions">><<set $relationAction to "talk">><<set $currentNPC to _npc>><</link>>
<<link "Bond">><<goto "Relations Interactions">><<set $relationAction to "bond">><<set $currentNPC to _npc>><</link>>
<<link "Partner">><<goto "Relations Interactions">><<set $relationAction to "partner">><<set $currentNPC to _npc>><</link>>
<<link "Mentorship">><<goto "Relations Interactions">><<set $relationAction to "mentorship">><<set $currentNPC to _npc>><</link>>
<<link "Gift">><<goto "Relations Interactions">><<set $relationAction to "gift">><<set $currentNPC to _npc>><</link>>
<<link "Spar">><<goto "Relations Interactions">><<set $relationAction to "spar">><<set $currentNPC to _npc>><</link>>
<<link "Dual Cultivation">><<goto "Relations Interactions">><<set $relationAction to "dualCultivation">><<set $currentNPC to _npc>><</link>>
<<link "Debate">><<set $currentNPC to _npc>><<goto "Relations Interactions">><<set $relationAction to "debate">><</link>>
</div>
<</if>>
<div class="stat-table-container">
<table class="stat-table">
<tr>
<th>General</th>
<th>Combat</th>
</tr>
<tr>
<td>
<b>🧬 Lifespan:</b> <<print _npc.NPClifespan>> / <<print _npc.NPCmaxlifespan>><br>
<b>❤️ Health:</b> <<print _npc.NPCcurrenthealth>> / <<print _npc.NPCmaxhealth>><br>
<b>⚡ Energy:</b> <<print _npc.NPCcurrentenergy>> / <<print _npc.NPCmaxenergy>><br>
<b>🍀 Luck:</b> <<print _npc.NPCluck>><br>
<b>🧠 Insight:</b> <<print _npc.NPCinsight>><br>
<b>💪 Strength:</b> <<print _npc.NPCbasestrength>><br>
<b>🌀 Willpower:</b> <<print _npc.NPCbasewillpower>>
</td>
<td>
<b>🗡️ Attack:</b> <<print _npc.NPCatk>><br>
<b>🛡️ Defense:</b> <<print _npc.NPCdef>><br>
<b>💥 Crit Rate:</b> <<print _npc.NPCcrit>>%<br>
<b>🛑 Crit Resist:</b> <<print _npc.NPCcritres>>%<br>
<b>👟 Agility:</b> <<print _npc.NPCagility>><br>
<b>🥋 Martial Arts:</b> <<print _npc.NPCmartialArts>><br>
<b>🌌 Spiritual Root:</b> <<print _npc.NPCspiritualRoot>>
</td>
</tr>
</table>
</div>
<div style="text-align:center; margin-top:30px;">
<<link "Return to Connections">><<goto "Relations">><</link>>
</div>
</div>
<</nobr>><<link "Go back" $passage>><</link>>
<<nobr>>
<div class="skills-container">
<div class="skills-header">
<h2>Your Divine Techniques</h2>
<p>Secret arts and martial profundities forged on your path to ascension.</p>
</div>
<!-- Equipped Skills Slots -->
<div class="equipped-slots">
<div class="equipped-slot">
<div class="slot-title">Special Technique</div>
<div class="slot-content">
<<if $activeSpecialSkill neq "">>
<<print $activeSpecialSkill>>
<<link "Unequip" "Skills">><<set $activeSpecialSkill to "">><</link>>
<<else>>
<span style="color:#819ca9; font-style:italic;">None equipped</span>
<</if>>
</div>
</div>
<div class="equipped-slot">
<div class="slot-title">Passive Art</div>
<div class="slot-content">
<<if $activePassiveSkill neq "">>
<<print $activePassiveSkill>>
<<link "Unequip" "Skills">><<set $activePassiveSkill to "">><</link>>
<<else>>
<span style="color:#819ca9; font-style:italic;">None equipped</span>
<</if>>
</div>
</div>
<div class="equipped-slot">
<div class="slot-title">Martial Skill</div>
<div class="slot-content">
<<if $activeAttackSkill neq "">>
<<print $activeAttackSkill>>
<<link "Unequip" "Skills">><<set $activeAttackSkill to "">><</link>>
<<else>>
<span style="color:#819ca9; font-style:italic;">None equipped</span>
<</if>>
</div>
</div>
</div>
<!-- Category Tabs -->
<<if !$skillFilter>><<set $skillFilter to "passive">><</if>>
<div class="skill-tabs">
<<link "Passive Arts" "Skills">><<set $skillFilter to "passive">><<replace ".skill-tabs">><</replace>><<replace ".skills-table">><</replace>><</link>>
<<link "Special Techniques" "Skills">><<set $skillFilter to "special">><<replace ".skill-tabs">><</replace>><<replace ".skills-table">><</replace>><</link>>
<<link "Martial Skills" "Skills">><<set $skillFilter to "attack">><<replace ".skill-tabs">><</replace>><<replace ".skills-table">><</replace>><</link>>
</div>
<!-- Skills Table -->
<table class="skills-table">
<thead>
<tr>
<th>Technique</th>
<th>Description</th>
<th style="width:120px; text-align:center;">Level</th>
</tr>
</thead>
<tbody>
<<for _i = 0; _i < $skillInventory.length; _i++>>
<<set _skill = $skillInventory[_i]>>
<<if _skill.category is $skillFilter>>
<<capture _skill>>
<tr class="skill-row">
<td>
<div class="skill-name"><<print _skill.name>></div>
<<if (_skill.category is "special" and $activeSpecialSkill is _skill.name) or
(_skill.category is "passive" and $activePassiveSkill is _skill.name) or
(_skill.category is "attack" and $activeAttackSkill is _skill.name)>>
<span class="equipped-badge">Currently Equipped</span>
<<else>>
<<link "Equip" "Skills">>
<<if _skill.category is "special">>
<<set _skill.isEquipped to "true">>
<<set $activeSpecialSkill to _skill.name>>
<<elseif _skill.category is "passive">>
<<set _skill.isEquipped to "true">>
<<set $activePassiveSkill to _skill.name>>
<<set $activePassiveWidget to _skill.widgetname>>
<<set $activePassiveLevel to _skill.level>>
<<elseif _skill.category is "attack">>
<<set _skill.isEquipped to "true">>
<<set $activeAttackSkill to _skill.name>>
<</if>>
<<replace ".equipped-slots">><</replace>>
<<replace ".skills-table">><</replace>>
<</link>>
<</if>>
</td>
<td><<print _skill.description>></td>
<td class="skill-level"><<print _skill.level>></td>
</tr>
<</capture>>
<</if>>
<</for>>
</tbody>
</table>
<<if $skillInventory.filter(s => s.category is $skillFilter).length eq 0>>
<p style="text-align:center; color:#819ca9; font-style:italic; margin:40px 0;">
No techniques of this category have been learned yet.
</p>
<</if>>
</div>
<</nobr>>
<div class="tab-nav">
<<link "Achievements" "Achievements">><</link>><<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
</div><<link "Go back" $passage>><</link>>
<<StatsUpdater>>
<<nobr>>
<div class="status-container">
<div class="status-header">
<<if $equippedRobe neq null and $equippedRobe.durability neq null>>
<<set _dur to $equippedRobe.durability>>
<<set _maxDur to $equippedRobe.maxDurability>>
<<if _dur eq _maxDur>>
<img src="images/Character/pristine.jpg" class="status-portrait" alt="Cultivator Portrait">
<<elseif _dur gt (_maxDur * 0.5)>>
<img src="images/Character/pristine.jpg" class="status-portrait" alt="Cultivator Portrait"> /* Still looks good */
<<elseif _dur gt (_maxDur * 0.2)>>
<img src="images/Character/torn.jpg" class="status-portrait" alt="Cultivator Portrait"> /* Torn state */
<<else>>
<img src="images/Character/bare.jpg" class="status-portrait" alt="Cultivator Portrait"> /* Fully destroyed */
<</if>>
<<else>>
<img src="images/Character/pristine.jpg" class="status-portrait" alt="Cultivator Portrait"> /* Default */
<</if>>
<div class="status-info">
<div><b>Surname:</b> $playersurname <b>Lifespan:</b> $lifespan / $maxlifespan</div>
<div><b>Name:</b> $playername <b>Sex:</b> Female</div>
<div><b>Charisma:</b> $charisma</div>
<div><b>Realm:</b> <span class="status-realm"><<cultivationStatus>></span></div>
<div><b>Internal Trait:</b> $internalTrait</div>
<div><b>External Trait:</b> <<print $externalTrait>></div>
<div><b>Sect Position:</b> <<print $CurrentPcSectRank>></div>
<div><b>Sect:</b> <<print $CurrentPcAffiliation>></div>
</div>
</div>
<div class="status-stats">
<!-- General Stats -->
<div class="stat-category">
<div class="category-title">General Cultivation</div>
<div class="stat-line"><span class="stat-label">🧬 Lifespan</span><span class="stat-value">$lifespan / $maxlifespan</span></div>
<div class="stat-line"><span class="stat-label">❤️ Health</span><span class="stat-value">$health / $maxhealth</span></div>
<div class="stat-line"><span class="stat-label">⚡ Energy (Qi)</span><span class="stat-value">$energy / $maxenergy</span></div>
<div class="stat-line"><span class="stat-label">🍀 Luck</span><span class="stat-value">$luck</span></div>
<div class="stat-line"><span class="stat-label">🧠 Insight</span><span class="stat-value">$insight</span></div>
<div class="stat-line"><span class="stat-label">💪 Strength</span><span class="stat-value">$basestrength</span></div>
<div class="stat-line"><span class="stat-label">🌀 Willpower</span><span class="stat-value">$basewillpower</span></div>
<div class="stat-line"><span class="stat-label">🧘♂️ Energy Recovery</span><span class="stat-value"><<print $energyRecovery * 100>>%</span></div>
</div>
<!-- Combat Stats -->
<div class="stat-category">
<div class="category-title">Combat Prowess</div>
<div class="stat-line"><span class="stat-label">🗡️ Attack</span><span class="stat-value high">$atk</span></div>
<div class="stat-line"><span class="stat-label">🛡️ Defense</span><span class="stat-value">$def</span></div>
<div class="stat-line"><span class="stat-label">💥 Critical Rate</span><span class="stat-value">$crit%</span></div>
<div class="stat-line"><span class="stat-label">🛑 Critical Resist</span><span class="stat-value">$critres%</span></div>
<div class="stat-line"><span class="stat-label">👟 Agility</span><span class="stat-value">$agility</span></div>
<div class="stat-line"><span class="stat-label">🥋 Martial Arts</span><span class="stat-value high">$martialArts</span></div>
<div class="stat-line"><span class="stat-label">🌌 Spiritual Root</span><span class="stat-value high">$spiritualRoot</span></div>
<div class="stat-line"><span class="stat-label">🩸 Health Recovery</span><span class="stat-value"><<print $healthRecovery * 100>>%</span></div>
</div>
</div>
</div>
<</nobr>>
<<link "H-status" "H-status">><</link>>
<div class="tab-nav">
<<link "Achievements" "Achievements">><</link>><<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
</div><<widget "SoulflareReversal">>
Your soul ignites like a phoenix ember as you defy fate itself! Time rewinds and death is denied.
<<AbilityImagex $ability 250>><</AbilityImagex>>
<<set $health = $health + $maxhealth * 0.3>>
<<set $soulflareUsed = true>>
You restore 30% of your health and resist death!
<<if $abilitylevel gte 2>>
<<set _reflected = $enemyatk * 0.5>>
<<set $enemycurrenthealth -= _reflected>>
You reflect $_reflected damage back to the enemy!
<</if>>
<</widget>>
<<widget "HeavenSplittingPalm">>
You summon your spiritual energy into your palm and unleash a Heaven-Splitting strike that shakes the heavens!
<<AbilityImagex $ability 250>><</AbilityImagex>>
<<set $defPierce = $currentEnemy.NPCdef * 0.5>>
<<set $abilityvalue = ($baseatk * 1.8) - $defPierce>>
<<if $abilitylevel gt 1>>
<<set $abilityvalue += 0.2 * $basestrength * $abilitylevel>>
<</if>>
You deal $abilityvalue damage, ignoring part of enemy defense!
<<set $currentEnemy.NPCcurrenthealth -= $abilityvalue>>
<<if $abilitylevel gte 3 and random(1, 100) lte 25>>
<<set $enemyStaggered = true>>
The enemy is staggered and loses their next action!
<</if>>
<</widget>>
<<widget "StoneheartConstitution">>
You draw upon the tempered strength of your Stoneheart Constitution.
<<set $passivedef += 5 + ($level * 2)>>
Your base defense has increased by <<print 5 + ($activePassiveLevel * 2)>> points!
<</widget>>
<<widget "VenomFangSlash">>
You lunge forward with a venomous claw strike, leaving a lingering poison!
<<AbilityImagex $ability 250>><</AbilityImagex>>
<<set $defPierce = $currentEnemy.NPCdef * 0.3>>
<<set $abilityvalue = ($baseatk * 1.5) - $defPierce>>
You slash the enemy for $abilityvalue damage!
<<set $currentEnemy.NPCcurrenthealth -= $abilityvalue>>
<<set _poisonDmg = 0.05 * $maxhealth>>
The enemy is poisoned, taking $_poisonDmg damage over time!
<<if $abilitylevel gte 2>>
<<set _critChance = 20>>
<<if random(1,100) lte _critChance>>
<<set $critBonus = $abilityvalue * 0.5>>
Critical strike! You deal an extra $critBonus damage!
<<set $currentEnemy.NPCcurrenthealth -= $critBonus>>
<</if>>
The poison lasts longer at this level!
<</if>>
<</widget>>
<<widget "UnholyEndurance">>
You embrace the corruption within, hardening your body against pain.
<<set $passivedef += 10 + (2 * $abilitylevel)>>
Your defense rises by <<print 10 + (2 * $abilitylevel)>> points!
<<if $abilitylevel gte 2>>
<<set $resistStatus = true>>
You gain resistance to weakening and harmful effects!
<</if>>
<</widget>>
<<widget "BloodCurseMark">>
You carve a sigil of blood into the air, cursing your foe with dark power!
<<AbilityImagex $ability 250>><</AbilityImagex>>
<<set $abilityvalue = ($basemaxenergy * 2) - ($currentEnemy.NPCdef * 0.4)>>
You sacrifice health to empower the curse.
<<set $health -= 0.1 * $maxhealth>>
You lose 10% of your health but deal $abilityvalue damage!
<<set $currentEnemy.NPCcurrenthealth -= $abilityvalue>>
The enemy is cursed — their healing is reduced, and they take extra damage!
<<if $abilitylevel gte 2>>
The curse lingers longer and grows more vicious!
<</if>>
<<if $abilitylevel gte 3 and random(1,100) lte 30>>
Dark power spreads! Another nearby foe is also afflicted!
<</if>>
<</widget>>
<<widget "FallingStarPalm">>
You channel power into your palm and strike down like a blazing star, shattering the ground!
<<AbilityImagex $ability 250>><</AbilityImagex>>
<<set $defPierce = $currentEnemy.NPCdef * 0.4>>
<<set $abilityvalue = ($baseatk * 1.6) - $defPierce>>
You deal $abilityvalue damage with explosive force!
<<set $currentEnemy.NPCcurrenthealth -= $abilityvalue>>
<<if $abilitylevel gte 2>>
The strike’s impact radiates outward, hitting nearby foes for <<print $abilityvalue * 0.5>> splash damage!
<</if>>
<</widget>>
<<widget "RadiantLotus">>
A lotus of radiant qi blooms within you, harmonizing body and spirit.
Your healing effects are increased by <<print 10 + (5 * ($abilitylevel - 1))>>%!
<<if $abilitylevel gte 2>>
Your inner clarity strengthens, slightly improving your energy recovery!
<</if>>
<</widget>>
<<widget "HeavenwardBarrier">>
You raise a shield of celestial light, warding off death itself!
<<AbilityImagex $ability 250>><</AbilityImagex>>
The barrier will block a single fatal strike and restore health when triggered.
<<if $abilitylevel gte 2>>
The shield grows stronger, restoring more health when it activates!
<</if>>
<<if $abilitylevel gte 3>>
The celestial shield also reflects part of the blocked damage back at the attacker!
<</if>>
<</widget>><<set $itemList to []>>
<<set $itemList.push($bloodhardeningherb)>>
<<set $itemList.push($sturdygrassfiber)>>
<<set $itemList.push($ironbloodlotusseed)>>
<<set $itemList.push($vitalityroot)>>
<<set $itemList.push($spiritvinetendril)>>
<<set $itemList.push($thunderweed)>>
<<set $itemList.push($nineleaflotus)>>
<<set $itemList.push($flowrootessence)>>
<<set $vitalityelixirrecipe to {
"name": "Vitality Elixir",
"bloodhardeningherb": 1,
"vitalityroot": 2,
"result": {
"id": "vitalityelixir",
"name": "Vitality Elixir",
"description": "Restores vitality and inner balance.",
"effect": "restoreHealth",
"quantity": 1,
"class": "potion"
}
}>><<if $pe eq 0>>
<<ArrogantYoungMaster>>
The tavern’s doors slam open with dramatic flair. A hush spreads as a group of silk-robed cultivators stride in, their presence completely at odds with the dim, smoky drinking hall.
At their head is a youth no older than twenty, hair pinned with golden clasps, and a smirk so sharp it might cut. His eyes lazily scan the room… until they fall on you.
<span class="male">“So this is the famed tavern of the outer city?”</span> he says, loud enough for all to hear. <span class="male">“Tch. Full of rats and insects. And yet…”</span>
He steps toward you, letting his entourage hang back with smug grins.
<span class="male">“You. Crawl to me on all fours, and I may forgive you for… whatever you’ve done to offend me.”</span>
You haven’t said a word. But it doesn’t matter.
He smiles wider. <span class="male">“Or don’t. I’ll break your legs and make you crawl anyway.”</span>
<div id="choice">\
<<link "Obey him. Crawl.">><<set $backgroundClass to "tavern">>
<<replace "#choice">>
The words hang in the air like poison.
<span class="male">“Crawl to me on all fours.”</span>
Laughter bubbles from his entourage, cruel and excited. The tavern watches in uncomfortable silence — but no one stops you as you slowly, deliberately, drop to your knees.
<<set _random0 = random(0,2)>>
You place your palms to the dusty wooden floor and begin to crawl toward him.
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>><<if _random0 eq 0>>
<img src="images/Sex/crawl.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 1>>
<img src="images/Sex/crawl1.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 2>>
<img src="images/Sex/crawl3.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
<span class="male">“Good,”</span>he purrs, voice silk-wrapped steel. <span class="male">“See? Even lowly insects can learn obedience.”</span>
When you reach him, he lifts one foot and presses the sole of his ornate boot against your shoulder — not hard enough to hurt, but enough to assert dominance.
<span class="male">“Now beg me to let you serve me in private.”</span>
<<linkappend "You’re taken to a private backroom. The guards remain outside.">>
<<set $backgroundClass to "tavernRoom">>
Inside, the arrogant young master watches you with idle amusement as he reclines on a padded seat. He undoes the sash of his inner robe, letting it slide open just enough to reveal his bare chest… and the growing bulge beneath silk pants.
<span class="male">“Strip, then crawl here and use your mouth. You’ll start there, and if I’m pleased, I’ll use the rest of you.”</span>
On your knees before him, you free his cock — thick, flushed, already hard with anticipation. He’s arrogant about it too, holding your chin and tapping the tip against your lips before letting you take him into your mouth.
<span class="male">“Not bad… for a nobody.”</span>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img src="images/Sex/sideBlowjob.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
He moans as you work your lips along his shaft, guiding your rhythm with one hand tangled in your hair. The position is degrading, and that’s exactly how he wants it.
After he’s had enough, he pulls back and stands.
<<Penetration_roll>>
<<if _penetration eq "vaginal">>
<<set _position to ["doggy","cowgirl"].random()>>
<<if _position eq "doggy">>
<<AymTavernImg>>
<<if $virginity eq 1>><<set $virginity = 0>><<set $virginityLost = _npc.fullname>>
<span class="red">You lost your virginity to _npc.fullname!</span>
<</if>>
<span class="male">“Turn around. On all fours — like the dog you are.”</span>
You obey, pressing your chest to the cushions as he mounts you from behind.
<<set_aym_doggy_desc>>
_random_desc_1
<<set_aym_doggy_talk>>
<span class="male">"_random_talk_1"</span>
_random_desc_2
<span class="male">"_random_talk_2"</span>
_random_desc_3
<span class="male">"_random_talk_3"</span>
<<linkappend "It wasnt really long before you heard a grunts of incoming orgasm from the guy.">>
<<AymFinisher>>
<span class="male"> "_finisher_talk_1" </span>
_finisher_desc_1
<<link "Gather your things and leave in shame" $passage>><<set $sexFame += random(4,7)>><<set $pe to 0>><<if $corruption lt 50>><<set $corruption +=2>><</if>><</link>>
<</linkappend>>
\
<<elseif _position eq "cowgirl">>
<<AymTavernImg>>
<<if $virginity eq 1>>
<<set $virginity = 0>>
<<set $virginityLost = _npc.fullname>>
<span class="red">You lost your virginity to _npc.fullname!</span>
<</if>>
<<set_aym_cowgirl_desc>>
_random_desc_1
<<set_aym_cowgirl_talk>>
<span class="male">"_random_talk_1"</span>
_random_desc_2
<span class="male">"_random_talk_2"</span>
_random_desc_3
<span class="male">"_random_talk_3"</span>
<<linkappend "It wasn't really long before you heard a grunts of incoming orgasm from the guy.">>
<<AymFinisher>>
\
<span class="male"> "_finisher_talk_1" </span>
_finisher_desc_1
\
<<link "Gather your things and leave in shame" $passage>><<set $sexFame += random(4,7)>><<set $pe to 0>><<if $corruption lt 50>><<set $corruption +=2>><</if>><</link>>
<</linkappend>>
<</if>>
\
<<elseif _penetration eq "anal">>
\
<<if $analVirginity eq 1>>
<<set $analVirginity = 0>>
<<set $analVirginityLost = _npc.fullname>>
<span class="red">You lost your anal virginity to _npc.fullname!</span>
<</if>>
\
<<AymTavernImg>>
<<set_aym_proneboneANAL_desc>>
_random_desc_1
<<set_aym_proneboneANAL_talk>>
<span class="male">"_random_talk_1"</span>
_random_desc_2
<span class="male">"_random_talk_2"</span>
_random_desc_3
<span class="male">"_random_talk_3"</span>
<<linkappend "It wasnt really long before you heard a grunts of incoming orgasm from the guy.">>
<<AymFinisher>>
<span class="male"> "_finisher_talk_1" </span>
_finisher_desc_1
<<link "Gather your things and leave in shame" $passage>><<set $sexFame += random(4,7)>><<set $pe to 0>><<if $corruption lt 50>><<set $corruption +=2>><</if>><</link>>
<</linkappend>>
<</if>>
<</linkappend>>
<</replace>>
<</link>>
<<link "Refuse with pride.">>
<<replace "#choice">>
You cross your arms and stare him down, utterly unmoved.
<span class="player">"I don't bow to worms dressed in silk."</span>
The room goes still.
The young master’s eyes flash with fury. <span class="male">“Break her knees.”</span>
<<if $totalFame gt 500>>
<<set _roll to random(0,100)>>
<<if _roll lt 50>>
<span class="male1">"Wait… that’s $playername $playersurname. The one who crippled a Core disciple with a single palm at the trial grounds.”</span>
_npc.fullname blinks. His hand freezes mid-gesture.
One of the guards leans in and whispers something urgently in his ear.
The young master’s face turns pale. He swallows.
<span class="male">“Tch. This place isn't worth dirtying my hands.”</span>
He spins on his heel, robes whipping the air. <span class="male">“Come, we’re leaving.”</span>
<<else>>
<span class="male1"> “Wait!”</span>One of his guards steps in front of him, looking visibly uneasy. <span class="male1"> “That’s the $playername $playersurname ”</span>The young master freezes. His lips press into a thin line.
Around the room, people are whispering your name. Several onlookers shift in their seats—one even lifts their cup in a silent toast.
<span class="male">“Tch… Don’t think your fame makes you untouchable forever.”</span> But the words are hollow. He turns and storms out, his entourage following, visibly shaken.
<</if>>\
<i>Try to stop him?</i>
<<link "Stop him!" "Arrogant Young Master Tavern">><<set $pe to 10>><</link>>
<<else>>
The room goes quiet. His smirk fades.
<span class="male">"Worm?"</span>His voice rises slightly. <span class="male">“Who the fuck do you think you are?”</span>
You sense it—the shift. There's no recognition in the room. No fear in the guards’ eyes. The patrons look away, uninterested. No one whispers your name.
You’re no one. Not yet.
The room goes quiet. His smirk fades.
<span class="male">"Worm?"</span>His voice rises slightly. <span class="male">“Who the fuck do you think you are?”</span>
You sense it—the shift. There's no recognition in the room. No fear in the guards’ eyes. The patrons look away, uninterested. No one whispers your name.
You’re no one. Not yet.
The young master’s face twists with fury.
<span class="male">“Then I’ll beat the dignity into you. I’ll break your legs and feed your spiritual root to dogs.”</span>
<<BeforeBattle>>
<<link "To battle!" "TavernBattle">><<set $pe to 0>><<set $nextPe to 1>><<set $passage to "TavernBattle">><</link>>
<</if>>
<</replace>>
<</link>>
<<link "Mock him back.">>
<<replace "#choice">>
The arrogant young master’s lip curls in contempt as he stands before you, his hand lazily gesturing to the floor.
<span class="male"> “Crawl to me, and I may spare you from becoming a cripple tonight.”</span>You lean back in your chair, smile slow and mocking.
<span class="player"> “You want me on all fours? Buy me dinner first, young master.”</span>
The moment hangs in the air like drawn steel. A few chuckles ripple through the tavern—but they die quickly. No one shouts your name. No gasps of recognition. You’re just… some nobody with a sharp tongue.
The young master’s smile fades.
<span class="male">“What did you just say?”</span>. His voice trembles—not from fear, but from barely suppressed rage. He turns slowly toward his guards.
<span class="male">Break their jaw. Then break their hands. Let’s see how funny they are with no tongue or fingers.”</span>
His guards start moving—this time with no hesitation.
<<BeforeBattle>>
<<link "To battle!" "TavernBattle">><<set $pe to 0>><<set $nextPe to 1>><<set $passage to "TavernBattle">><</link>>
<</replace>>
<</link>>
<<elseif $pe eq 1>>
<<nobr>>
<br>You catch the next guard’s wrist mid-swing.
<br>CRACK. His bone breaks in your grip. Another guard draws a sword—you flick two fingers, and his blade shatters.
<br>The young master stumbles back, wide-eyed. He stammers.
<br><span class="male">“Y-You dare hit me?! My father is the Sect Lord of—”</span>
<div id="choice">
<br><<link "Slap him across the face">>
<br><<replace "#choice">>
<br>You casually raise your hand—and deliver a thunderous slap.
<br><div style="position: relative; width: 70%; height: auto;"><<BackgroundHandler>><img src="images/Story/bitchslap.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"></div>
<br>A shockwave ripples out. The young master spins mid-air before crashing into the bamboo thicket.
<br><span class="male">"Y-you—!"</span> He spits blood and teeth.
<br>The guards glance at each other—then drop their weapons and flee.
<br><span class="player">“Tell your father: the world doesn't bend for spoiled children.”</span>
<br><<link "Go back" $city>> <<set $PCrighteousreputation += 1>><<set $fame += random(3,6)>> <</link>>
<</replace>>
<</link>>
<br><<link "Step forward and crush his pride">>
<br><<replace "#choice">>
<br>You step closer, gaze like a blade.
<br><span class="player">"Your father's title means nothing here."</span>
<br>Your aura flares—dense, suffocating. He drops to his knees before he even realizes.
<br>He can't meet your eyes.
<br>The remaining guards scatter without a word.
<br>You turn away, leaving them behind like dust in the wind.
<br><<link "Go back" $city>> <<set $PCdemonicreputation += 1>> <<set $fame += random(3,6)>><</link>>
<</replace>>
<</link>>
<br><<link "Let him run—like the coward he is">>
<br><<replace "#choice">>
<br>You say nothing. Just look at him.
<br>The pressure in the air thickens. He trembles, then bolts into the forest, stumbling over his own ego.
<br>The remaining guards scatter like leaves.
<br><<link "Go back" $city>> <<set $fame += random(3,6)>> <</link>>
<</replace>>
<</link>>
</div>
<</nobr>>
<<elseif $pe eq 2>>
The arrogant young master towers above you as you sprawl on the tavern’s wooden floor, breath ragged from the blows his guards landed. The world smells of spilled wine and smoke, and every gaze in the room is fixed on you—waiting, whispering.
<span class="male">“Still defiant?” </span>
His voice drips with mockery. He presses the heel of his embroidered boot harder into your belly.
<span class="male">“Let’s see how long that dignity lasts, insect.”</span>
The pressure is unbearable. Your body spasms, bladder straining. You claw at the floorboards, cheeks flushing with humiliation. A choked sound escapes your throat as your muscles finally betray you.
A dark warmth spreads beneath you, soaking through the silk of your dress. The humiliating hiss of liquid is unmistakable as your thighs grow wet. You’re pissing yourself—helpless, humiliated, right there on the tavern floor.
Laughter ripples through the air. The young master leans closer, his hand sliding up your leg possessively, fingers pressing into your trembling thigh. His smirk is wide, cruel, triumphant.
<img src="images/Sex/piss.png" style="width: 70%; display: block; margin: 10px auto;">
<span class="male">“There. Look at you now. A proud cultivator… reduced to a piss-soaked dog. Remember this the next time you dare raise your voice to me.”</span>
The puddle spreads, steam rising faintly in the heat of the tavern. Your blue eyes meet his for a fleeting moment—shame burning so hot it almost eclipses your fear. Almost.
<<link "Gather your things and leave in shame" $city>><<set $sexFame += random(2,5)>><<set $pe to 0>><<if $corruption lt 50>><<set $corruption +=2>><</if>><<set $combatFame -= 1>><<set $fame -= 2>><</link>>
<</if>><<widget "BackgroundHandler">>
<<if $backgroundClass eq "tavern">>
<img src="images/Background/tavern.jpg" style="width: 100%; display: block;">
<<elseif $backgroundClass eq "tavernRoom">>
<<set $random=random(1,2)>>
<<if $random eq 1>>
<img src="images/Background/tavernRoom.jpg" style="width: 100%; display: block;">
<<elseif $random eq 2>>
<img src="images/Background/tavernRoom1.jpg" style="width: 100%; display: block;">
<</if>>
<<else>>
<<set $random=random(1,10)>>
<<if $random eq 1>>
<img src="images/Background/bamboo_forest.jpg" style="width: 100%; display: block;">
<<elseif $random eq 2>>
<img src="images/Background/bamboo_forest1.jpg" style="width: 100%; display: block;">
<<elseif $random eq 3>>
<img src="images/Background/mountain_top.jpg" style="width: 100%; display: block;">
<<elseif $random eq 4>>
<img src="images/Background/mountain_top1.jpg" style="width: 100%; display: block;">
<<elseif $random eq 5>>
<img src="images/Background/plumgrove.jpg" style="width: 100%; display: block;">
<<elseif $random eq 6>>
<img src="images/Background/plumgrove1.jpg" style="width: 100%; display: block;">
<<elseif $random eq 7>>
<img src="images/Background/waterfall.jpg" style="width: 100%; display: block;">
<<elseif $random eq 8>>
<img src="images/Background/waterfall1.jpg" style="width: 100%; display: block;">
<<elseif $random eq 9>>
<img src="images/Background/forest.jpg" style="width: 100%; display: block;">
<<elseif $random eq 10>>
<img src="images/Background/forest1.jpg" style="width: 100%; display: block;">
<</if>><</if>>
<</widget>><<if $pe eq 0>>
You are fighting $currentEnemy.fullname !
<<EnemyImage $currentEnemy.enemyregion $currentEnemy.enemyimage 300>><</EnemyImage>>
<b>General Actions</b>:
<<link "Attack" "SectEntranceBattle1">>
<<set $pe to 1>>
<<set $playeraction = "attack">>
<</link>>
<table class="abilities-table">\
<td>\
<b>Abilities</b>:
<<for _i to 0; _i lt $skillInventory.length; _i++>>\
<<if ($skillInventory[_i].category eq "attack" or $skillInventory[_i].category eq "special") and $skillInventory[_i].isEquipped eq "true">>
<<print $skillInventory[_i].name>> (Energy cost: $skillInventory[_i].energy )\
<<capture _i>>\
<<if $energy lt $skillInventory[_i].energy>><i>Not enough energy</i>
<<else>> <<link "Use" "SectEntranceBattle1">>
<<set $pe = 1>><<set $playeraction = "ability">> <<set $ability = $skillInventory[_i].widgetname>> <<set $abilityenergy = $skillInventory[_i].energy>><<set $energy -= $abilityenergy>> <<set $abilitylevel = $skillInventory[_i].level>> <</link>> <</if>>
<</capture>>\
<</if>>
<</for>>\
</td>\
</table>
<<if $activePassiveSkill != "">>
<<Ability $activePassiveWidget>><</Ability>>
<</if>>
<<EnemyBattleTable>>
<<elseif $pe eq 1>>
<<if $playeraction eq "attack">>You attempt to hit the $currentEnemy.fullname !
<<PlayerAttackAttempt>>
<<if $playeraction = "attack success">>
<<PlayerAttackDamage>>
<<elseif $playeraction eq "attack failure">>
You missed your attack!
<</if>><</if>>
<<EnemyStun>>
<<if $enemyaction eq "attack">>The $currentEnemy.fullname attacks you!
<<EnemyAttackAttempt>>
<<if $enemyaction = "attack success">>
<<EnemyAttackDamage>>
<<elseif $enemyaction eq "attack failure">>
The $currentEnemy.fullname missed their attack!
<</if>><</if>>
<<if $playeraction eq "ability">>
<<Ability $ability>><</Ability>><</if>>
<<if $currentEnemy.NPCcurrenthealth lte 0>>
<<link "The enemy is defeated! Victory!" $returnpassage>><<set $pe = 3>><</link>>
<<elseif $health lte 0>>
<<link "You've lost" $returnpassage>><<set $pe to 4>><</link>><
<<else>>
<<link "Continue battle" $passage>><<set $pe = 0>><</link>>
<</if>>
<</if>><<widget "BeforeBattle">>
<<set $currentEnemy to clone(_npc)>>
<<set $currentEnemy.NPCcurrenthealth to $currentEnemy.NPCmaxhealth>>
<<set $currentEnemy.NPCcurrentenergy to $currentEnemy.NPCmaxenergy>>
<<set $returnpassage to passage()>>
<</widget>>
<<widget "PlayerAttackAttempt">>
<<set $playerattackroll = random(1, 100)>>
<<set $playerattackrolltotal = $playerattackroll + $strength + $agility>>
<<if $playerattackrolltotal gte $currentEnemy.enemyEvade>>
<<set $playeraction = "attack success">>
<</if>>
<<if $playerattackrolltotal lt $currentEnemy.enemyEvade>>
<<set $playeraction = "attack failure">>
Your attack missed!
<</if>>
<</widget>>
<<widget "PlayerAttackDamage">>
<<set $playermindamage = Math.round($atk * 0.8)>>
<<set $playermaxdamage = Math.round($atk * 1.2 + ($basestrength / 3) + ($martialArts / 4))>>
<<set $playerdamageroll = random($playermindamage, $playermaxdamage)>>
<<set $playerdamagerolltotal = $playerdamageroll + ($basestrength / 2)>>
<<set $damagetoenemy = Math.round($playerdamagerolltotal - $currentEnemy.NPCdef)>>
<<if $damagetoenemy lt 0>>
<<set $damagetoenemy = 0>>
<</if>>
<<set $currentEnemy.NPCcurrenthealth -= $damagetoenemy>>
<<if $currentEnemy.NPCcurrenthealth lt 0>>
<<set $currentEnemy.NPCcurrenthealth = 0>>
<</if>>
<<set $temp_player_damage = $damagetoenemy>>
<<if $temp_player_damage lte 0>>
<<set $temp_player_damage = random(1,3)>>
Your strike bounces off the enemy's skin — it's as if you're punching a steel wall powered by spiritual essence.
You deal <<print $damagetoenemy>> damage!
<<else>>
You channel your Qi into your strike... It pierces the enemy's defense!
You strike your enemy, dealing <<print $damagetoenemy>> damage!
<</if>>
<</widget>>
<<widget "EnemyAttackAttempt">>
<<set $enemyattackroll = random(1,100)>>
<<set $enemyattackrolltotal = $enemyattackroll + $currentEnemy.NPCbasestrength + $currentEnemy.NPCagility>>
<<if $enemyattackrolltotal gte $evadescore>><<set $enemyaction = "attack success">>
<<else>> <<set $enemyaction = "attack failure">>
missed!
<</if>>
<</widget>>
<<widget "EnemyAttackDamage">>
<<set $enemymindamage = Math.round($currentEnemy.NPCatk * 0.8)>>
<<set $enemymaxdamage = Math.round($currentEnemy.NPCatk * 1.2 + ($currentEnemy.NPCbasestrength / 3) + ($currentEnemy.NPCmartialArts / 4))>>
<<set $enemydamageroll = random($enemymindamage, $enemymaxdamage)>>
<<set $enemydamagerolltotal = $enemydamageroll + ($currentEnemy.NPCbasestrength / 2)>>
<<set $damagetoplayer = Math.round($enemydamagerolltotal - $def)>>
<<if $damagetoplayer lt 0>>
<<set $damagetoplayer = 0>>
<</if>>
<<set $health -= $damagetoplayer>>
<<if $health lt 0>>
<<set $health = 0>>
<</if>>
<<set $temp_enemy_damage = $damagetoplayer>>
<<if $temp_enemy_damage lte 0>>
<<set $temp_enemy_damage = random(1, 3)>>
Your defensive technique holds — you feel nothing.
<<else>>
The enemy strikes you fiercely, dealing <<print $damagetoplayer>> damage!
<</if>>
<</widget>>
<<widget "EnemyBattleTable">>
<table class="xianxia-enemy-table">
<tr>
<th colspan="2" class="xianxia-name"><<print $currentEnemy.fullname>></th>
</tr>
<tr>
<td class="xianxia-label">Health:</td>
<td class="xianxia-value"><<print $currentEnemy.NPCcurrenthealth>> / <<print $currentEnemy.NPCmaxhealth>></td>
</tr>
<tr>
<td colspan="2" class="xianxia-health-icon">
<<if $currentEnemy.NPCcurrenthealth == $currentEnemy.NPCmaxhealth>>
<img src="images/Story/health10.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.9)>>
<img src="images/Story/health9.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.8)>>
<img src="images/Story/health8.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.7)>>
<img src="images/Story/health7.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.6)>>
<img src="images/Story/health6.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.5)>>
<img src="images/Story/health5.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.4)>>
<img src="images/Story/health4.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.3)>>
<img src="images/Story/health3.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.2)>>
<img src="images/Story/health2.png" width="200" />
<<elseif $currentEnemy.NPCcurrenthealth >= ($currentEnemy.NPCmaxhealth * 0.1)>>
<img src="images/Story/health1.png" width="200" />
<<else>>
<img src="images/Story/health0.png" width="200" />
<</if>>
</td>
</tr>
</table>
<</widget>>
<<widget "EnemyStun">>\
<<set $enemyaction = $currentEnemy.enemyAbility.random()>>
<<set $currentEnemy.enemyAbility.push($enemyaction)>>
<</widget>><<widget "HuntBeastsR1">>
<<set _chance = random(0,100)>>
<<if _chance lte 20>>
<<BloodfangTiger>>
<<elseif _chance gt 20 and _chance lt 40>>
<<IronclawBear>>
<<else>>
<<ScarletEagle>>
<</if>>
<</widget>>
<<widget "BloodfangTiger">>\
<<silently>>\
<<set _enemyability = []>>
<<set _enemyability.push("attack", "attack")>>
<<set _enemyregion = "Enemy">>
<<set _enemyimage = "Bloodfang Tiger">>
<<set _fullname = "Bloodfang Tiger">>
<<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain"].random()>>
<<set _maxhealthNPC = random(340, 450)>>
<<set _maxenergyNPC = random(120, 160)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(1, 5)>>
<<set _insightNPC = random(1, 5)>>
<<set _basestrengthNPC = random(7, 10)>>
<<set _basewillpowerNPC = random(4, 7)>>
<<set _atkNPC = random(6, 17)>>
<<set _defNPC = random(9, 16)>>
<<set _critNPC = random(2, 4)>>
<<set _critresNPC = random(0, 2)>>
<<set _agilityNPC = random(6, 13)>>
<<set _martialArtsNPC = random(0, 2)>>
<<set _enemyEXP = random (20,40)>>
<<set _spiritualRootNPC = random(0, 3)>>
<<set _enemyEvadeScore = (_agilityNPC * 2) + (_insightNPC * 1.5) + (_luckNPC * 0.5)>>
<<set _description = "You see Bloodfang Tiger, its crimson fur slick with dried blood. It growls lowly, its fangs pulsing with an ominous qi, thirsting for another soul.">>
<<set _npc = {
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: __lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
enemyDesc: _description,
enemyXP: _enemyEXP
}>>
<</silently>>\
<</widget>>\
<<widget "IronclawBear">>\
<<silently>>\
<<set _enemyability = []>>
<<set _enemyability.push("attack", "attack")>>
<<set _enemyregion = "Enemy">>
<<set _enemyimage = "Ironclaw Bear">>
<<set _fullname = "Ironclaw Bear">>
<<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain"].random()>>
<<set _maxhealthNPC = random(340, 450)>>
<<set _maxenergyNPC = random(120, 160)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(1, 5)>>
<<set _insightNPC = random(1, 5)>>
<<set _basestrengthNPC = random(7, 10)>>
<<set _basewillpowerNPC = random(4, 7)>>
<<set _atkNPC = random(6, 17)>>
<<set _defNPC = random(9, 16)>>
<<set _critNPC = random(2, 4)>>
<<set _critresNPC = random(0, 2)>>
<<set _agilityNPC = random(6, 13)>>
<<set _martialArtsNPC = random(0, 2)>>
<<set _spiritualRootNPC = random(0, 3)>>
<<set _enemyEXP = random (20,40)>>
<<set _enemyEvadeScore = (_agilityNPC * 2) + (_insightNPC * 1.5) + (_luckNPC * 0.5)>>
<<set _description = "You see Ironclaw Bear, a hulking beast with claws like sabers. The earth trembles with each of its heavy, deliberate steps.">>
<<set _npc = {
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: __lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
enemyXP: _enemyEXP,
enemyDesc: _description
}>>
<</silently>>\
<</widget>>\
<<widget "ScarletEagle">>\
<<silently>>\
<<set _enemyability = []>>
<<set _enemyability.push("attack", "attack")>>
<<set _enemyregion = "Enemy">>
<<set _enemyimage = "Scarlet Eagle">>
<<set _fullname = "Scarlet Eagle">>
<<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain"].random()>>
<<set _maxhealthNPC = random(340, 450)>>
<<set _maxenergyNPC = random(120, 160)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(1, 5)>>
<<set _insightNPC = random(1, 5)>>
<<set _basestrengthNPC = random(7, 10)>>
<<set _basewillpowerNPC = random(4, 7)>>
<<set _atkNPC = random(6, 17)>>
<<set _defNPC = random(9, 16)>>
<<set _critNPC = random(2, 4)>>
<<set _critresNPC = random(0, 2)>>
<<set _agilityNPC = random(6, 13)>>
<<set _martialArtsNPC = random(0, 2)>>
<<set _spiritualRootNPC = random(0, 3)>>
<<set _enemyEXP = random (20,40)>>
<<set _enemyEvadeScore = (_agilityNPC * 2) + (_insightNPC * 1.5) + (_luckNPC * 0.5)>>
<<set _description = "You see Scarlet Eagle, circling above. Its cry echoes sharply across the valley as it dives with blinding speed.">>
<<set _npc = {
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: __lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
enemyXP: _enemyEXP,
enemyDesc: _description
}>>
<</silently>>\
<</widget>>\
<<widget "WhisperingShade">>
<<silently>>
<<set _enemyability = []>>
<<set _enemyability.push("attack")>>
<<set _enemyregion = "Specter">>
<<set _enemyimage = "Whispering Shade">>
<<set _fullname = "Whispering Shade">>
<<set _location = ["Bamboo Grove of Whispers", "Forgotten Burial Ground", "Moonlit Ravine"].random()>>
<<set _maxhealthNPC = random(280, 360)>>
<<set _maxenergyNPC = random(160, 220)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(2, 6)>>
<<set _insightNPC = random(6, 10)>>
<<set _basestrengthNPC = random(3, 6)>>
<<set _basewillpowerNPC = random(8, 12)>>
<<set _atkNPC = random(5, 12)>>
<<set _defNPC = random(7, 12)>>
<<set _critNPC = random(3, 6)>>
<<set _critresNPC = random(2, 5)>>
<<set _agilityNPC = random(8, 14)>>
<<set _martialArtsNPC = random(0, 1)>>
<<set _spiritualRootNPC = random(2, 4)>> <!-- Ghostly affinity -->
<<set _enemyEXP = random(35, 55)>>
<<set _enemyEvadeScore = (_agilityNPC * 2.2) + (_insightNPC * 1.8) + (_luckNPC * 0.5)>>
<<set _description = "A ghostly cultivator manifests from the shadows, its form wavering like smoke in the moonlight. Hollow eyes burn faintly as the whispers in the bamboo rise to a maddening chorus.">>
<<set _npc = {
fullname: _fullname,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
enemyXP: _enemyEXP,
enemyDesc: _description
}>>
<</silently>>
<</widget>>
<<widget "ShadowtailBeast">>\
<<silently>>\
<<set _enemyability = []>>
<<set _enemyability.push("attack", "attack")>>
<<set _enemyregion = "Enemy">>
<<set _enemyimage = "Shadowtail Beast">>
<<set _fullname = "Shadowtail Beast">>
<<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain"].random()>>
<<set _maxhealthNPC = random(340, 450)>>
<<set _maxenergyNPC = random(120, 160)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(1, 5)>>
<<set _insightNPC = random(1, 5)>>
<<set _basestrengthNPC = random(7, 10)>>
<<set _basewillpowerNPC = random(4, 7)>>
<<set _atkNPC = random(6, 17)>>
<<set _defNPC = random(9, 16)>>
<<set _critNPC = random(2, 4)>>
<<set _critresNPC = random(0, 2)>>
<<set _agilityNPC = random(6, 13)>>
<<set _martialArtsNPC = random(0, 2)>>
<<set _enemyEXP = random (20,40)>>
<<set _spiritualRootNPC = random(0, 3)>>
<<set _enemyEvadeScore = (_agilityNPC * 2) + (_insightNPC * 1.5) + (_luckNPC * 0.5)>>
<<set _description = "You see Shadowtail Beast, its sleek dark fur glistening with a faint glow. It growls lowly, its eyes glowing violet.">>
<<set _npc = {
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: __lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
enemyDesc: _description,
enemyXP: _enemyEXP
}>>
<</silently>>\
<</widget>>\<<if !$visibleMissions or $visibleMissions.length == 0>>
<<refreshMissions>>
<</if>>
<table class="mission-table">
<tr>
<th>Mission</th>
<th>Description</th>
<th>Reward</th>
<th>Action</th>
</tr>
<<for _mission range $visibleMissions>>
<tr>
<td><<print _mission.name>></td>
<td><<print _mission.description>></td>
<td><<print _mission.reward>> spirit stones</td>
<td><<if $SideMissionStatus is null>><<capture _mission>>
<<link "Accept" "Bounty Board">>
<<set $MissionType to "side">>
<<set $activeSideMission to _mission>>
<<set $SideMissionStatus to "accepted">>
<<replace "#missionlog">>Accepted: <<= _mission.name>><</replace>><</link>><</capture>> <</if>>
</td>
</tr>
<</for>>
</table>
<div id="missionlog"></div>
<<if $activeSideMission neq null>>
Your current mission: $activeSideMission.name !
Do you want to abandon your mission? <<link "Yes" "Bounty Board">><<set $activeSideMission to null>><<set $SideMissionStatus to null>><</link>>
<</if>>
<<link "⟳ Refresh missions">><<refreshMissions>><<goto "Bounty Board">><</link>>
<<link "Go back" $passage>><</link>>[[Go back->ClearSkyAzureDragonPavilion]]
<div class="sect-info">
<h2>Clear Sky Azure Dragon Pavilion</h2>
<p><b>Sect Purpose:</b> Defending humanity from demonic beasts.</p>
<p><b>Sect Rules:</b> Do not harm the innocent.</p>
<hr>
<p><b>Your Position:</b></p>
<<if $CurrentPcMainSect != "Azure Dragon Sect" and $CurrentPcMainSect != "Ghost King Netherworld Sect">>
<<link "Join the Sect">>
<<goto "Clear Sky Azure Dragon Pavilion Joining Scene">>
<</link>>
<<elseif $CurrentPcMainSect neq "Azure Dragon Sect">>
<ul>
<li><b>You're not part of this sect!</b></li>
</ul>
<<elseif $CurrentPcMainSect == "Azure Dragon Sect">>
<ul>
<li><b>Rank:</b> <<print $CurrentPcSectRank>></li>
<li><b>Reputation:</b> <<print $CurrentPcSectReputation>></li>
</ul>
<</if>>
</div><<if $pe eq 0>>
<<set $returnpassage to passage()>>
<<if $recommendationLetter eq "righteous">>
Variant 1: Player has a recommendation letter
You stand at the entrance of the Clear Sky Azure Dragon Pavilion, the sacred grounds of the sect stretching out before you. The towering structures of ancient stone and wood stand with an aura of power and wisdom. The sound of distant cultivation practices echoes across the courtyard as disciples train and meditate, their movements graceful and precise.
You take a deep breath, clutching the sealed recommendation letter you received earlier. The sect’s disciple eyes the letter, and a respectful nod follows.
“I see you’ve been vouched for. The Pavilion welcomes you.”
With that, he gestures toward the main building, allowing you to pass.
You have been accepted into the sect, your future now intertwined with the Azure Dragon Pavilion.
You may now begin your training and cultivate under their guidance.
<<link "Continue" "ClearSkyAzureDragonPavilion">>
<<set $CurrentPcSectRank to "Initiate">>
<<set $CurrentPcAffiliation to "Clear Sky Azure Dragon Pavilion">>
<<set $CurrentPcMainSect to "Azure Dragon Sect">>
<<set $CurrentPcSect to "righteous">>
<</link>>
<<else>>
You stand at the entrance of the Clear Sky Azure Dragon Pavilion, the sacred grounds of the sect stretching out before you. The towering structures of ancient stone and wood stand with an aura of power and wisdom. The sound of distant cultivation practices echoes across the courtyard as disciples train and meditate, their movements graceful and precise.
You approach the entrance, heart racing with excitement at the thought of joining such a prestigious sect. A disciple standing guard raises an eyebrow, looking you over.
“Do you have a recommendation letter from a sect member or higher authority?” Without one, I’m afraid we cannot allow entry into the sect at this time. The path to true cultivation requires both merit and connections. However you may try to enter through duel trial. You'll face one of the sect initiates. If you manage to win, you'll be accepted”
With no recommendation in hand, you feel your chances slipping away. However, the sect is vast, and there may still be a way for you to prove yourself. The choice is yours—find another way to gain favor or try your luck elsewhere.
[[Try another time..->ClearSkyAzureDragonPavilion][$pe=0]]
[[Try through duels!->Clear Sky Azure Dragon Pavilion Joining Scene][$pe=2]]
<</if>>
<<elseif $pe eq 2>>
<<CreateNPC_Region1>>
You stand at the middle of stage, people are watching you.
You'll face _fullname
You can gauge their strength by observing their stance and aura. He is at _realm.
<<BeforeBattle>>
<<set $currentEnemy.sectNPC to "Clear Sky Azure Dragon Pavilion">>
<<link "Attack" "SectEntranceBattle1">><<set $pe to 0>>
<<set $passage to "SectEntranceBattle1">>
<</link>>
<<elseif $pe eq 3>>
<<if $health lte 0>>
Your legs give out as the final blow lands. The stage spins, and everything fades to white.
$currentEnemy.fullname stands tall, their breathing calm but sharp.
"You fought bravely... but you lack experience. Train harder, and perhaps fate will smile upon you next time."
The disciples around the stage whisper, some nodding in respect, others looking unimpressed.
<<link "Leave in shame!" "Map|Region1">><<set $pe to 0>><</link>>
<<elseif $currentEnemy.NPCcurrenthealth lte 0>>
With one final strike, your opponent stumbles backward, collapsing to the stage.
A hush falls over the crowd.
$currentEnemy.fullname grits their teeth. "You... you are strong. The elders were right to test you."
An elder descends from the pavilion steps, his long white beard fluttering in the breeze.
"You have proven your determination and strength through battle. The Clear Sky Azure Dragon Pavilion welcomes you."
<<link "Continue" "ClearSkyAzureDragonPavilion">>
<<set $pe = 0>>
<<set $CurrentPcSectRank to "Initiate">>
<<set $CurrentPcAffiliation to "Clear Sky Azure Dragon Pavilion">>
<<set $CurrentPcMainSect to "Azure Dragon Sect">>
<<set $CurrentPcSect to "righteous">>
<</link>>
<</if>>
<</if>><img src="images/Locations/clearskyazure.jpg" class="location-bg" width="80%">
<<nobr>>
<<set $passage to passage()>>
<br>The gates of the sect loom before you — ancient, imposing, and pulsing faintly with qi. Disciples in the sect's colors patrol the entrance, scrutinizing newcomers.
<div class="action-tablet">
[[Sect information->CSADP]]
<<link "Exit" "Map|Region1">><<set $pe to 0>><</link>>
<<if $CurrentPcMainSect neq "Azure Dragon Sect">>Hospital <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Hospital" "Hospital|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<link "Portal" "Portal|Stage 1">><<set $pe to 0>><</link>>
<<if $CurrentPcMainSect neq "Azure Dragon Sect">>Manual Library <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Manual Library" "Manual Library|Stage 1">><<set $pe to 0>><<set $selectedFloor to "Initiate">><</link>> <</if>>
<<if $CurrentPcMainSect neq "Azure Dragon Sect">>Treasure Pavilion <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Treasure Pavilion" "Treasure Pavilion|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<if $CurrentPcMainSect neq "Azure Dragon Sect">>Mission Hall <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Mission Hall" "Mission Hall|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<if $CurrentPcMainSect neq "Azure Dragon Sect">>Spirit Pavilion <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Spirit Pavilion" "Spirit Pavilion|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<if $CurrentPcMainSect neq "Azure Dragon Sect">>Council Hall <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Council Hall" "Council Hall|Stage 1">><<set $pe to 0>><</link>> <</if>>
</div>
<</nobr>><<if $pe eq 0>>
You are currently a <<print $CurrentPcSectRank>> of the <<print $CurrentPcAffiliation>> sect.
<<if $CurrentPcSectRank == "Initiate" and $ContributionPoints >= 50 and $CurrentPcSectReputation >= 10 and $sectFavor >= 5>>
<<link "You can advance to the next rank!" "Council Hall|Stage 1">>
<<set $CurrentPcSectRank to "Disciple">>
<</link>>
<<elseif $CurrentPcSectRank == "Disciple" and $ContributionPoints >= 150 and $CurrentPcSectReputation >= 30 and $sectFavor >= 15>>
<<link "You can advance to the next rank!" "Council Hall|Stage 1">>
<<set $pe to 1>>
<<set $CurrentPcSectRank to "Inner Disciple">>
<</link>>
<<elseif $CurrentPcSectRank == "Inner Disciple" and $ContributionPoints >= 300 and $CurrentPcSectReputation >= 60 and $sectFavor >= 30>>
<<link "You can advance to the next rank!" "Council Hall|Stage 1">>
<<set $pe to 2>>
<<set $CurrentPcSectRank to "Core Disciple">>
<</link>>
<<elseif $CurrentPcSectRank == "Core Disciple" and $ContributionPoints >= 600 and $CurrentPcSectReputation >= 100 and $sectFavor >= 50>>
<<link "You can advance to the next rank!" "Council Hall|Stage 1">>
<<set $pe to 3>>
<<set $CurrentPcSectRank to "True Disciple">>
<</link>>
<<else>>
You have to prove yourself more to get promoted
<</if>>
<<link "Go back" $passage>>
<</link>>
\
\
<<elseif $pe eq 1>>
You have been promoted to <b>Inner Disciple</b>.
To reward your hard work and cultivation, the sect offers you a gift.
<i>You may choose one of the following spiritual consumables:</i>
Refining Pill – Increases your cultivation progress|InnerGiftRefiningPill
Qi Gathering Incense – Boosts next meditation|InnerGiftIncense
2500 Spirit Stones - money
<<link "go back" $passage>><<set $pe to 0>><</link>>
<<elseif $pe eq 2>>
You have been promoted to <b>Core Disciple</b>.
The sect now grants you the honor of choosing a personal mentor among the Elders.
Who will you approach?
<<CreateMentor>>
<<if $CurrentPcSect eq "righteous">><<set _sectAffiliation to "Clear Sky Azure Dragon Pavilion">><<else>><<set _sectAffiliation to "Ghost King Netherworld Sect">><</if>>
<<link _fullname $passage>><<AddNPC>><<if $CurrentPcSect eq "righteous">><<set _npc._sectAffiliation to "Clear Sky Azure Dragon Pavilion">><<else>><<set _npc._sectAffiliation to "Ghost King Netherworld Sect">><</if>><<set $plot1Mentor to clone(_npc)>><</link>> — <<_cultivation>> — <<_sectAffiliation>><br>
<<CreateMentor>>
<<if $CurrentPcSect eq "righteous">><<set _sectAffiliation to "Clear Sky Azure Dragon Pavilion">><<else>><<set _sectAffiliation to "Ghost King Netherworld Sect">><</if>>
<<link _fullname $passage>><<AddNPC>><<if $CurrentPcSect eq "righteous">><<set _npc._sectAffiliation to "Clear Sky Azure Dragon Pavilion">><<else>><<set _npc._sectAffiliation to "Ghost King Netherworld Sect">><</if>><<set $plot1Mentor to clone(_npc)>><</link>> — <<_cultivation>> — <<_sectAffiliation>><br>
<<CreateMentor>>
<<if $CurrentPcSect eq "righteous">><<set _sectAffiliation to "Clear Sky Azure Dragon Pavilion">><<else>><<set _sectAffiliation to "Ghost King Netherworld Sect">><</if>>
<<link _fullname $passage>><<AddNPC>><<if $CurrentPcSect eq "righteous">><<set _npc._sectAffiliation to "Clear Sky Azure Dragon Pavilion">><<else>><<set _npc._sectAffiliation to "Ghost King Netherworld Sect">><</if>><<set $plot1Mentor to clone(_npc)>><</link>> — <<_cultivation>> — <<_sectAffiliation>><br>
pe3 true disciple
You have earned the title of True Disciple. Few reach this far.
<</if>><img src="images/Story/menu.png" width=80%>
<i><h3>
The following game is a work of fiction. Destined to Ascend is a game with a lot of erotic content.
Are you over legal age and friendly with the content of that game?</h3></i>
<<link "Yes" "Opening and Name">><<set $knownRecipes.push($strengthboostrecipe1)>><<set $difficulty to null>><</link>>
<a href="https://www.google.com/">No</a>
<<nobr>>
<<set $skillInventory.push($soulflareReversal)>>
<<set $skillInventory.push($stoneheartConstitution)>>
<<set $skillInventory.push($heavenSplittingPalm)>>
<</nobr>><<set $playerJuniorSexBeg to [
"Please… touch me. I need it so badly.",
"Don’t tease me anymore… I’ll do anything.",
"I want it—your hands, your mouth—just *please*…",
"Make me yours. I can’t wait anymore…",
"Please, Junior… I’m aching for you.",
"I’ll be good. Just touch me, please.",
"You win… Just don’t stop now.",
"I’m all yours—just take me already.",
"I need you. Right here. Right now."
]>>
<<set $submissiveDialogueNPC to [
"Ah—fuck, you’re so tight, I can barely handle it…",
"Please… don’t stop… I need it, I need all of you—",
"Senior, I’ll do anything—just don’t stop using me like this—",
"Gods, you’re milking me so good… I can’t think—",
"I’ll cum if you keep going like that—please, not yet—",
"Your pussy’s squeezing me so hard—I can’t last like this, fuck…"
]>>
<<set $dominantDialogueNPC to [
"Take it. Every inch—I want you stuffed full of me.",
"You’re dripping for me. You were made for this cock, weren’t you?",
"So needy, so fucking wet—I could do this all day.",
"Look at you. Fucked dumb on just my cock.",
"I’ll ruin you for anyone else—no one will ever fill you like I do.",
"Keep moaning like that and I’ll make you scream my name, slut."
]>>
<<set $neutralDialogueNPC to [
"Gods, you feel incredible… so warm, so tight…",
"Every time I slide in, it’s like the first time.",
"You fit me perfectly—I never want to stop.",
"Your pussy’s so good… I could lose myself in you.",
"I love watching your face when I push inside.",
"You're amazing… fuck, don’t stop clenching like that…"
]>>
<<set $submissiveDialoguePC to [
"Yes—please, keep going, don’t stop—",
"You’re so deep… gods, I can’t take much more—",
"I’m yours—just fuck me however you want—",
"Ah—ah! You’re stretching me so good—",
"Harder—please, just a little more, I can take it—",
"I love it when you take control—use me—"
]>>
<<set $dominantDialoguePC to [
"You like being inside me, don’t you? Pathetic.",
"This pussy owns you now. Say it.",
"You’ll cum when I say so. Not a moment sooner.",
"Beg for it. Beg to stay inside me.",
"Keep moaning—I want to hear how desperate you are.",
"You're lucky I'm letting you fuck me at all."
]>>
<<set $neutralDialoguePC to [
"Yes… right there… gods, that feels so good—",
"Don’t stop, you feel perfect inside me—",
"Deeper… fuck, that’s it—",
"I want to feel every inch… don’t hold back—",
"You’re hitting all the right spots—don’t stop now—",
"So good… I could fuck you like this forever—"
]>>
__________________________________________________________________________________________
_________________________ARROGANT YOUNG MASTER__________________________________
__________________________________________________________________________________________
<<set $vagDoggyArrogantYMdesc = [
"He fucks you hard — hands gripping your hips, teeth at your neck, hips slamming into you with practiced cruelty. Every thrust is punctuated by some mocking praise.",
"His cock drives deep from behind, your ass slapping against his hips with every punishing thrust. He uses you like a toy, panting with pleasure as he dominates you.",
"You feel completely exposed as he takes you from behind, one hand on your neck and the other spanking your ass between thrusts. There's no gentleness — just raw, possessive force.",
"He grabs your hair and pulls you back as he thrusts deeper. Your cries only make him grin harder — you’re being claimed, over and over again.",
"Bent over with your face pressed to the bedding, you can only moan as he ruts into you like a beast in heat. He fucks like he owns you, and in this moment, maybe he does."
]>>
<<set $vagArrogantYMtalks = [
"You moan like a whore.",
"Maybe I’ll keep you here. You’d look perfect leashed beneath my desk.",
"I knew you’d be good on all fours.",
"You're dripping like a bitch in heat. Don't pretend you're not loving this.",
"Say thank you, slut — thank me for fucking you.",
"No one's going to fuck you like this again. I ruin everything I use.",
"You're not even trying to resist anymore. Good. Know your place.",
"Do you like being used by someone above your station?"
]>>
<<set $vagArrogantYMcumCreampie = [
"With a final, brutal thrust, he buries himself deep — your walls clamp around him just as hot spurts of cum flood your pussy. He grunts, grinding in to make sure it all stays inside.",
"He slams in and holds you tight, cock twitching as he fills you. Warm, thick seed spills deep, and he sighs in satisfaction like he just claimed a prize.",
"You feel his cock throb deep inside, and then the hot rush of release. His cum leaks from you almost instantly, but he stays buried, as if daring it to escape.",
"His rhythm falters, then stops — and he groans low as he spills into you. You can feel every pulse, every drop marking you from the inside.",
"He fucks you straight through his climax, pumping cum into you with each lingering thrust. It’s messy, filthy, and he clearly loves it that way."
]>>
<<set $vagArrogantYMcumTalkCreampie = [
"That's where you belong — dripping full of me.",
"Hope you weren’t planning on using that hole for anyone else.",
"Mmm. You feel better wrapped around my cock than anyone else has.",
"I’ll leave it in for a while — wouldn’t want it leaking out too soon.",
"Consider yourself claimed. You’ll be smelling like me for days."
]>>
<<set $ArrogantYMcumMouth = [
"He shoves your head down, groaning as he cums. Hot, bitter seed hits the back of your throat in thick spurts, and he doesn’t let you up until you’ve swallowed every drop.",
"His cock pulses against your tongue as he fills your mouth. You can’t help but gag slightly, but he just grins and tells you to keep going — to take it all.",
"He moans low and steady, holding your head tight as he cums directly into your mouth. You’re left with no choice but to swallow or choke.",
"Warm cum floods your mouth as he finishes, and you can taste every humiliating drop. He pulls out slow and wipes the tip against your lips.",
"He cums hard, and you feel it fill your mouth almost instantly. It drips down your chin as he laughs and wipes the excess across your cheek."
]>>
<<set $vagArrogantYMcumTalkMouth = [
"Swallow it all. Don’t waste a drop.",
"Good whore. Maybe I’ll let you taste it again sometime.",
"You make a decent cumdump, I’ll give you that.",
"Open wider next time. I want to see it pool on your tongue.",
"Keep your mouth open. I’m not done using it."
]>>
<<set $ArrogantYMcumFace = [
"He jerks himself fast, then tilts your chin up — hot ropes of cum splash across your cheeks, lips, and nose. You feel it drip as he smirks.",
"With a low grunt, he strokes out thick spurts that land across your face — some hitting your forehead, others your lips. You’re painted in disgrace.",
"His cock twitches in his grip, then he releases — warm cum hitting your face in wet splashes, some getting in your hair. He looks proud of the mess.",
"You close your eyes just in time. Cum streaks across your face, running down your jaw and onto your collarbone. He chuckles and calls it an improvement.",
"He holds your face steady, aiming every pulse of cum directly onto your features. You're left dripping, sticky, and humiliated — just how he likes it."
]>>
<<set $vagArrogantYMcumTalkFace = [
"Now that’s a good look for you. So fucking pretty like this.",
"Smile for me. Let everyone see how I decorated you.",
"Stay still. I want to admire my work.",
"That’s what your face is good for — catching my cum.",
"Wipe it off? No. Walk around like that. Let them know."
]>>
<<set $vagCowgirlArrogantYMdesc = [
"He pulls you into his lap, your back to his chest, and forces you down onto his cock, letting you ride him like a toy built for his pleasure.",
"His hand cracks down on your ass, sharp and loud, leaving a red mark that stings with each bounce.",
"You feel his cock throb deep inside as he guides your hips, fucking you from beneath while you moan helplessly."
]>>
<<set $vagArrogantYMtalks = [
"Louder. I want everyone outside to hear what a good whore you are.",
"You ride like you've done this before — don't lie to me.",
"That ass will carry my handprint for days. Perfect.",
"I could sit here all night and let you fuck yourself stupid on my cock."
]>>
<<set $analProneArrogantYMdesc = [
"He shoves your face down into the cushion, lifting your hips and exposing your hole before pushing inside slowly, stretching you open inch by inch.",
"Each thrust is hard and deep, his hips smacking against your ass while your moans are muffled in the fabric beneath you.",
"He leans over your back, breathing hotly into your ear as he pounds into your ass like he owns it."
]>>
<<set $analArrogantYMtalks = [
"Face down, ass up — just how I like my pets.",
"You’ll feel this every time you sit, and you’ll remember who did it to you.",
"Even your tight little hole can't resist me.",
"You're nothing but a hole for my pleasure now. Accept it."
]>>
<!-- Alchemy Vendor -->
<<set $azureCauldronChat = [
"The finest elixirs demand the purest flame and the rarest herbs—patience is the true ingredient of immortality.",
"This Qi Gathering Pill was refined under three full moons; one swallow, and your meridians will sing with power.",
"Beware cheap pills from wandering peddlers—their impurities will clog your dantian like mud in a river.",
"A true alchemist does not chase breakthroughs; he coaxes them, gently, like courting a shy spirit beast.",
"Bring me fresh Spirit Ginseng and Crimson Lotus petals, and I shall brew something worthy of your destiny."
]>>
<!-- Weapon Vendor -->
<<set $thunderClapChat = [
"A sword is merely iron until it drinks the blood of its wielder's resolve—choose your blade wisely.",
"This Heavenly Edge was forged in thunder-fire; it hungers for the heavens themselves.",
"Sharpness alone is not enough—a true weapon must resonate with its master's qi, or it is just cold steel.",
"Your stance tells me you favor swift strikes; this Willow-Leaf Saber would dance in your hands like wind through leaves.",
"Bring me the core of a Core Formation beast, and I will reforge your weapon into something legends fear."
]>>
<!-- Shady NSFW Vendor -->
<<set $blissFurnaceChat = [
"Desire is the purest furnace—let it burn away your inhibitions, and your qi will flow freer than ever.",
"A single drop of Phoenix Tears Oil on sensitive skin… and even the sternest cultivator melts into blissful surrender.",
"True dual cultivation begins with trust; relax your body, open your meridians, and let pleasure guide the energy.",
"This jade rod hums with warm yang qi—used properly, it will temper your foundation in ways no ordinary pill ever could.",
"Come to the back when you're ready; Mei Ling's hands know exactly where your tension hides… and how to release it."
]>><<RichQiPlace_Region1>> -> cultivation passage
<<RareHerbs_Region1>> -> rare herbs gathering[[Go back->GhostKingNetherworldSect]]
<div class="sect-info">
<h2>Ghost King Netherworld Sect</h2>
<p><b>Sect Purpose:</b> To dominate the mortal and spiritual realms.</p>
<p><b>Sect Rules:</b> Never betray the Sect.</p>
<hr>
<p><b>Your Position:</b></p>
<<if $CurrentPcMainSect != "Azure Dragon Sect" and $CurrentPcMainSect != "Ghost King Sect">>
<<link "Join the Sect">>
<<goto "GhostKingNetherworldSectJoiningScene">>
<</link>>
<<elseif $CurrentPcMainSect neq "Ghost King Sect">>
<ul>
<li><b>You're not part of this sect!</b></li>
</ul>
<<elseif $CurrentPcMainSect == "Ghost King Sect">>
<ul>
<li><b>Rank:</b> <<print $CurrentPcSectRank>></li>
<li><b>Reputation:</b> <<print $CurrentPcSectReputation>></li>
</ul>
<</if>>
</div><<set _deathChance to 0>>
<<set _pe to 0>>
<img src="images/Story/death.png" width=70%><<nobr>>
<<if $playerSect == "demonic" and $enemySect == "righteous">>
<<set _deathChance += 30>>
<</if>>
<<if $playerSect == "righteous" and $enemySect == "demonic">>
<<set _deathChance += 30>>
<</if>>
<<if $totalPCdemonicreputation > $totalPCrighteousreputation>>
<<set _deathChance += 20>>
<</if>>
<<if $totalPCrighteousreputation > $totalPCdemonicreputation>>
<<set _deathChance += 10>>
<</if>>
<<set _deathRoll to random(1,100)>>
<<if _deathRoll <= _deathChance>>
<p>Your opponent stands over your fallen body, victory burning in their eyes.</p>
<<if $enemySect == "righteous">>
<p>“For the greater good,” they mutter, raising their blade. The pain is brief… then, silence.</p>
<</if>>
<<if $enemySect == "demonic">>
<p>They sneer. “Too weak to live.” The world fades with their laughter echoing in your ears.</p>
<</if>>
<p>But fate is not so simple. As your soul slips from your body, something stirs — a pull, a fracture in time, a second chance.</p>
<<set $regression += 1>>
<<set $hasRegressed = true>>
<p>You awaken with a gasp, cold sweat clinging to your skin. You’re… alive. But weaker. Back to the moment before it all went wrong.</p>
<<link "..............." $returnpassage>> <<set $regression += 1>>
<<set $hasRegressed = true>><</link>>
<<else>>
<p>You were defeated, but your opponent spares you — for now. You live, but only barely.</p>
<<link "Go away" $returnpassage>><<set $health to 1>><<set $playerEnergy to 0>><</link>><</if>>
<</nobr>><img src="images/Locations/ghostkingsect.jpg" class="location-bg" width="80%">
<<nobr>>
<<set $passage to passage()>>
The gates of the sect loom before you — ancient, imposing, and pulsing faintly with qi. Disciples in the sect's colors patrol the entrance, scrutinizing newcomers.
<div class="action-tablet">
[[Sect information->GKNS]]
<<link "Exit" "Map|Region1">><<set $pe to 0>><</link>>
Hospital
<<link "Portal" "Portal|Stage 1">><<set $pe to 0>><</link>>
<<if $CurrentPcMainSect neq "Ghost King Sect">>Manual Library <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Manual Library" "Manual Library|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<if $CurrentPcMainSect neq "Ghost King Sect">>Treasure Pavilion <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Treasure Pavilion" "Treasure Pavilion|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<if $CurrentPcMainSect neq "Ghost King Sect">>Mission Hall <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Mission Hall" "Mission Hall|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<if $CurrentPcMainSect neq "Ghost King Sect">>Spirit Pavilion <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Spirit Pavilion" "Spirit Pavilion|Stage 1">><<set $pe to 0>><</link>> <</if>>
<<if $CurrentPcMainSect neq "Ghost King Sect">>Council Hall <i>(You need to be part of this sect to use this facility!)</i><<else>> <<link "Council Hall" "Council Hall|Stage 1">><<set $pe to 0>><</link>> <</if>>
</div>
<</nobr>><<if $pe eq 0>>
<<set $returnpassage to passage()>>
<<if $recommendationLetter eq "evil">>
Variant 1: Player has a recommendation letter
You stand at the entrance of the Ghost King Netherworld Sect, the sacred grounds of the sect stretching out before you. The towering structures of ancient stone and wood stand with an aura of power and wisdom. The sound of distant cultivation practices echoes across the courtyard as disciples train and meditate, their movements graceful and precise.
You take a deep breath, clutching the sealed recommendation letter you received earlier. The sect’s disciple eyes the letter, and a respectful nod follows.
“I see you’ve been vouched for. The Pavilion welcomes you.”
With that, he gestures toward the main building, allowing you to pass.
You have been accepted into the sect, your future now intertwined with the Ghost King Netherworld Sect.
You may now begin your training and cultivate under their guidance.
<<link "Continue" "GhostKingNetherworldSect">>
<<set $CurrentPcSectRank to "Initiate">>
<<set $CurrentPcAffiliation to "Ghost King Netherworld Sect">>
<<set $CurrentPcMainSect to "Ghost King Sect">>
<<set $CurrentPcSect to "demonic">>
<</link>>
<<else>>
You stand at the entrance of the Ghost King Netherworld Sect, the sacred grounds of the sect stretching out before you. The towering structures of ancient stone and wood stand with an aura of power and wisdom. The sound of distant cultivation practices echoes across the courtyard as disciples train and meditate, their movements graceful and precise.
You approach the entrance, heart racing with excitement at the thought of joining such a prestigious sect. A disciple standing guard raises an eyebrow, looking you over.
“Do you have a recommendation letter from a sect member or higher authority?” Without one, I’m afraid we cannot allow entry into the sect at this time. The path to true cultivation requires both merit and connections. However you may try to enter through duel trial. You'll face one of the sect initiates. If you manage to win, you'll be accepted”
With no recommendation in hand, you feel your chances slipping away. However, the sect is vast, and there may still be a way for you to prove yourself. The choice is yours—find another way to gain favor or try your luck elsewhere.
[[Try another time..->GhostKingNetherworldSect][$pe=0]]
[[Try through duels!->GhostKingNetherworldSectJoiningScene][$pe=2]]
<</if>>
<<elseif $pe eq 2>>
<<CreateNPC_Region1>>
You stand at the middle of stage, people are watching you.
You'll face _fullname
You can gauge their strength by observing their stance and aura. He is at _realm.
<<BeforeBattle>>
<<set $currentEnemy.sectNPC to "Ghost King Netherworld Sect">>
<<link "Attack" "SectEntranceBattle1">><<set $pe to 0>>
<<set $passage to "SectEntranceBattle1">>
<</link>>
<<elseif $pe eq 3>>
<<if $health lte 0>>
Your legs give out as the final blow lands. The stage spins, and everything fades to white.
<<= $currentEnemy.fullname>> stands tall, their breathing calm but sharp.
"You fought bravely... but you lack experience. Train harder, and perhaps fate will smile upon you next time."
The disciples around the stage whisper, some nodding in respect, others looking unimpressed.
<<link "Leave in shame!" "Map|Region1">><<set $pe to 0>><</link>>
<<elseif $currentEnemy.NPCcurrenthealth lte 0>>
With one final strike, your opponent stumbles backward, collapsing to the stage.
A hush falls over the crowd.
<<= $currentEnemy.fullname>> grits their teeth. "You... you are strong. The elders were right to test you."
An elder descends from the pavilion steps, his long white beard fluttering in the breeze.
"You have proven your determination and strength through battle. The Ghost King Netherworld Sect welcomes you."
<<link "Continue" "GhostKingNetherworldSect">>
<<set $pe = 0>>
<<set $CurrentPcSect to "demonic">>
<<set $CurrentPcSectRank to "Initiate">>
<<set $CurrentPcAffiliation to "Ghost King Netherworld Sect">>
<<set $CurrentPcMainSect to "Ghost King Sect">>
<</link>>
<</if>>
<</if>><<widget "updateDestinyStats">>
<<set $destinyatk = 0>>
<<set $destinydef = 0>>
<<set $destinycrit = 0>>
<<set $destinycritres = 0>>
<<set $destinyagility = 0>>
<<set $destinymartialArts = 0>>
<<set $destinyspiritualRoot = 0>>
<<set $righteousreputation = 0>>
<<set $demonicreputation = 0>>
<<set $destinylifespan = 0>>
<<set $destinyenergy = 0>>
<<set $destinyhealth = 0>>
<<for _d range $playerDestiny>>
<<if _d.destinyatk>> <<set $destinyatk += _d.destinyatk>> <</if>>
<<if _d.destinydef>> <<set $destinydef += _d.destinydef>> <</if>>
<<if _d.destinycrit>> <<set $destinycrit += _d.destinycrit>> <</if>>
<<if _d.destinycritres>> <<set $destinycritres += _d.destinycritres>> <</if>>
<<if _d.destinyagility>> <<set $destinyagility += _d.destinyagility>> <</if>>
<<if _d.destinymartialArts>> <<set $destinymartialArts += _d.destinymartialArts>> <</if>>
<<if _d.destinyspiritualRoot>> <<set $destinyspiritualRoot += _d.destinyspiritualRoot>> <</if>>
<<if _d.righteousreputation>> <<set $righteousreputation += _d.righteousreputation>> <</if>>
<<if _d.demonicreputation>> <<set $demonicreputation += _d.demonicreputation>> <</if>>
<<if _d.destinylifespan>> <<set $destinylifespan += _d.destinylifespan>> <</if>>
<<if _d.destinyenergy>> <<set $destinyenergy += _d.destinyenergy>> <</if>>
<<if _d.destinyhealth>> <<set $destinyhealth += _d.destinyhealth>> <</if>>
<</for>>
<<set $atk = $baseatk + $destinyatk>>
<<set $def = $basedef + $destinydef>>
<<set $crit = $basecrit + $destinycrit>>
<<set $critres = $basecritres + $destinycritres>>
<<set $agility = $baseagility + $destinyagility>>
<<set $martialArts = $basemartialArts + $destinymartialArts>>
<<set $spiritualRoot = $basespiritualRoot + $destinyspiritualRoot>>
<<set $maxlifespan to $basemaxlifespan + $destinylifespan>>
<<set $maxhealth to $basemaxhealth + $destinyenergy>>
<<set $maxenergy to $basemaxenergy + $destinyhealth>>
<<set $health = $maxhealth>>
<<set $energy = $maxenergy>>
<</widget>>
<<widget "cultivationStatus">>
$cultivationStage $cultivationRealm
<</widget>>
<<widget "EnergyRecovery">>
<<set _EnergyRecovered = Math.round($maxenergy * $energyRecovery)>>
<<set $energy += _EnergyRecovered>>
<<if $energy > $maxenergy>><<set $energy = $maxenergy>><</if>>
<</widget>>
<<widget "HealthRecovery">>
<<set _HealthRecovered = Math.round($maxhealth * $healthRecovery)>>
<<set $health += _HealthRecovered>>
<<if $health > $maxhealth>><<set $health = $maxhealth>><</if>>
<</widget>>
<<widget "StatsRecovery">>
<<EnergyRecovery>>
<<HealthRecovery>>
<</widget>>
<<widget "TurnsAge">>
<<if $turns gte $turnsPerYear>>
<<set $lifespan += 1>>
<<set $turns = 0>>
A year has passed. You are now <<print $lifespan>> years old.
<</if>>
<</widget>>
<<widget "MapRender">>
<<set $passage to passage()>>
<<set _tileSize = 50>>
<<set _x = $playerX * _tileSize>>
<<set _y = $playerY * _tileSize>>
<<if _x == 0>><<set _x = 1>><</if>>
<<if _y == 0>><<set _y = 1>><</if>>
<<if $activeSideMission neq null>>
<<set _sideMX = $activeSideMission.missionCordX * _tileSize>>
<<set _sideMY = $activeSideMission.missionCordY * _tileSize>>
<</if>>
<div id="map-container">
<<print '<div class="player-icon" style="left: ' + _x + 'px; top: ' + _y + 'px;"></div>'>>
<<if $SideMissionStatus is "accepted">>
<<print '<div class="sidemission-icon" style="left: ' + _sideMX + 'px; top: ' + _sideMY + 'px;"></div>'>>
<</if>>
</div>
<</widget>>
<<widget "MissionNotification">>
<<if _x eq _sideMX and _y eq _sideMY>>\
<span class="mission">You're on your mission location!</span>
<<link "Go!" "Mission|Region1">>
<</link>>
<</if>>
<</widget>>
<<widget "Movement">>
<<TurnsAge>>
<div id="movement-controls">
<<if $playerY > 2>>
<<link "↑ North">>
<<set $playerY -= 1>>
<<set $turns += 1>>
<<run localStorage.setItem("playerX", $playerX)>>
<<run localStorage.setItem("playerY", $playerY)>>
<<run localStorage.setItem("turns", $turns)>>
<<replace "#movement-controls">><<Movement>><</replace>>
<<replace "#map-container">><<MapRender>><</replace>>
<<replace "#event-container">><<RegionEvents>><<NpcPosition>><<MortalRealm>><<TurnsAge>><<MissionNotification>><</replace>>
<</link>>
<</if>>
<<if $playerY < 13>>
<<link "↓ South">>
<<set $playerY += 1>>
<<set $turns += 1>>
<<run localStorage.setItem("playerX", $playerX)>>
<<run localStorage.setItem("playerY", $playerY)>><<run localStorage.setItem("turns", $turns)>>
<<replace "#movement-controls">><<Movement>><</replace>>
<<replace "#map-container">><<MapRender>><</replace>>
<<replace "#event-container">><<RegionEvents>><<NpcPosition>><<MortalRealm>><<TurnsAge>><<MissionNotification>><</replace>>
<</link>>
<</if>>
<<if $playerX > 0>>
<<link "← West">>
<<set $playerX -= 1>>
<<set $turns += 1>>
<<run localStorage.setItem("playerX", $playerX)>>
<<run localStorage.setItem("playerY", $playerY)>><<run localStorage.setItem("turns", $turns)>>
<<replace "#movement-controls">><<Movement>><</replace>>
<<replace "#map-container">><<MapRender>><</replace>>
<<replace "#event-container">><<RegionEvents>><<NpcPosition>><<MortalRealm>><<TurnsAge>><<MissionNotification>><</replace>>
<</link>>
<</if>>
<<if $playerX < 11>>
<<link "→ East">>
<<set $playerX += 1>>
<<set $turns += 1>>
<<run localStorage.setItem("playerX", $playerX)>>
<<run localStorage.setItem("playerY", $playerY)>><<run localStorage.setItem("turns", $turns)>>
<<replace "#movement-controls">><<Movement>><</replace>>
<<replace "#map-container">><<MapRender>><</replace>>
<<replace "#event-container">><<RegionEvents>><<NpcPosition>><<MortalRealm>><<TurnsAge>><<MissionNotification>><</replace>>
<</link>>
<</if>>
</div>
<</widget>>
<<widget "refreshMissions">>
<<include "SideMissions">>
<<if $sidemissions>>
<<set $visibleMissions to []>>
<<set _pool to $sidemissions.filter(m => m.region === $currentRegion)>>
<<set _shuffled to _pool.sort(() => 0.5 - Math.random())>>
<<for _i to 0; _i < 5 && _i < _shuffled.length; _i++>>
<<set $visibleMissions.push(_shuffled[_i])>>
<<set $activeSideMission to null>>
<<set $SideMissionStatus to null>>
<</for>>
<<elseif $SectSideMissions>>
<<set $visibleMissions to []>>
<<set _pool to $SectSideMissions.filter(m => m.region === $currentRegion)>>
<<set _shuffled to _pool.sort(() => 0.5 - Math.random())>>
<<for _i to 0; _i < 5 && _i < _shuffled.length; _i++>>
<<set $visibleMissions.push(_shuffled[_i])>>
<<set $activeSideMission to null>>
<<set $SideMissionStatus to null>>
<</for>>
<</if>>
<</widget>>
<<widget "statusCondition">>
<div class="status">
<!-- HEALTH STATUS -->
<<if $health <= 0.1 * $maxhealth>>
<p><span class="wounded">⚠ You are on the brink of death!</span></p>
<<elseif $health <= 0.25 * $maxhealth>>
<p><span class="wounded">You are gravely wounded.</span></p>
<<elseif $health <= 0.5 * $maxhealth>>
<p><span class="wounded">You're bleeding and in pain.</span></p>
<<elseif $health <= 0.75 * $maxhealth>>
<p><span class="wounded">You're slightly injured.</span></p>
<<else>>
<p><span class="healthy">You're in good health.</span></p>
<</if>>
<!-- ENERGY (QI) STATUS -->
<<if $energy <= 0.1 * $maxenergy>>
<p><span class="drained">⚠ Your qi is nearly depleted!</span></p>
<<elseif $energy <= 0.25 * $maxenergy>>
<p><span class="drained">Your inner energy is dangerously low.</span></p>
<<elseif $energy <= 0.5 * $maxenergy>>
<p><span class="drained">Your qi circulation is weak.</span></p>
<<elseif $energy <= 0.75 * $maxenergy>>
<p><span class="drained">You feel a drain on your energy.</span></p>
<<else>>
<p><span class="focused">Your qi flows steadily.</span></p>
<</if>>
</div>
<</widget>>
<<widget "Breakthrough">>
<<set _realms = ["Body Tempering Realm", "Meridian Awakening Realm", "Qi Gathering Realm", "Foundation Establishment Realm"]>>
<<set _stages = ["Early", "Middle", "Late"]>>
<<set _realmIndex = _realms.indexOf($cultivationRealm)>>
<<set _stageIndex = _stages.indexOf($cultivationStage)>>
<<set _baseExp = 1000>>
<<set _requiredExp = _baseExp * (_realmIndex + 1) * (_stageIndex + 1)>>
<<set _progress = Math.min(100, Math.round(($exp / _requiredExp) * 100))>>
<div style="border: 1px solid #777; padding: 1em; width: 90%; background: rgba(255,255,255,0.05); border-radius: 10px; font-family: 'serif'; color: #e0e0e0;">
<h3 style="margin: 0 0 0.5em 0; color: #8ff;">🧘 Cultivation Status</h3>
<p><strong>Stage:</strong> $cultivationStage<br>
<strong>Realm:</strong> $cultivationRealm</p>
<p><strong>EXP:</strong> $exp / <<print _requiredExp>> (<<print _progress>>%)</p>
<div style="width: 100%; height: 20px; background: #333; border: 1px solid #666; border-radius: 5px; margin-bottom: 1em;">
<div style="width: <<print _progress>>%; height: 100%; background: linear-gradient(to right, #00f2ff, #4dffbf); border-radius: 5px;"></div>
</div>
<!-- Breakthrough Button -->
<<if $exp >= _requiredExp>>
<<link "🌌 Attempt Breakthrough" "Breakthrough1">><<set $exp to $exp - _requiredExp>> <</link>>
<<else>>
<p style="color:#ff6b6b; font-weight:bold; margin-top:20px;">
Not enough EXP to attempt breakthrough yet.
</p>
<</if>>
<</widget>>
<<widget "BreakthroughEvent">>
<<set _breakthroughOutcome = random(1, 100)>>
<<set _cancel to 0>>
<div class="outcome-box">
<<if _breakthroughOutcome lte 15>>
<!-- Qi Deviation -->
<img src="images/Story/qideviation.png" width="60%" style="border-radius:12px; box-shadow:0 0 20px #ff6b6b;">
<p class="outcome-failure"><b>Qi Deviation!</b><br>Your meridians rebel in chaos. Blood sprays from your mouth as heavenly punishment strikes.</p>
<<set $health -= Math.floor($health * 0.5)>>
<<set $energy -= Math.floor($energy * 0.5)>>
<p>Your life hangs by a thread. <span class="red">Recover and try again.</span></p>
<<set _cancel to 1>>
<<elseif _breakthroughOutcome gt 15 and _breakthroughOutcome lte 85>>
<!-- Normal Breakthrough -->
<img src="images/Story/normal.png" width="60%" style="border-radius:12px; box-shadow:0 0 20px #66bb6a;">
<p class="outcome-success"><b>Breakthrough Successful!</b><br>Your qi surges forward like a calm river breaking a dam. Cultivation deepens steadily.</p>
<<set _random = 1.15 + Math.random() * 0.05>>
<<set _random1 = 1.30 + Math.random() * 0.1>>
<<else>>
<!-- Enlightenment -->
<img src="images/Story/enlightenment.png" width="60%" style="border-radius:12px; box-shadow:0 0 20px gold;">
<p class="outcome-enlightenment"><b>Enlightenment Descends!</b><br>The Dao opens its eyes upon you. Power floods your body in a torrent of divine clarity!</p>
<p class="green">Exceptional gains await.</p>
<<set _random = 1.20 + Math.random() * 0.05>>
<<set _random1 = 1.35 + Math.random() * 0.1>>
<</if>>
<<if _cancel eq 1>>
<<link "Forfeit Attempt" "Breakthrough">>
<<set $exp -= random(100,700)>>
<</link>>
<<else>>
<<set _realms = ["Body Tempering Realm", "Meridian Awakening Realm", "Qi Gathering Realm", "Foundation Establishment Realm"]>>
<<set _stages = ["Early", "Middle", "Late"]>>
<<set _realmIndex = _realms.indexOf($cultivationRealm)>>
<<set _stageIndex = _stages.indexOf($cultivationStage)>>
<<run _stageIndex++>>
<<if _stageIndex gte _stages.length>>
<<set _stageIndex = 0>>
<<set _realmIndex++>>
<<if _realmIndex gte _realms.length>>
<p class="outcome-enlightenment">You have reached the peak of known cultivation!</p>
<<else>>
<<set $cultivationRealm = _realms[_realmIndex]>>
<<set $cultivationStage = _stages[_stageIndex]>>
<p class="outcome-success">New Realm Achieved!<br><b>$cultivationRealm</b> (Early)</p>
<<link "Return" "Breakthrough">>
<<set $basemaxlifespan to Math.round($basemaxlifespan * _random1)>>
<<set $basemaxhealth to Math.round($basemaxhealth * _random1)>>
<<set $basemaxenergy to Math.round($basemaxenergy * _random1)>>
<<set $baseluck to Math.round($baseluck * _random1)>>
<<set $baseinsight to Math.round($baseinsight * _random1)>>
<<set $basebasestrength to Math.round($basebasestrength * _random1)>>
<<set $basebasewillpower to Math.round($basebasewillpower * _random1)>>
<<set $baseatk to Math.round($baseatk * _random1)>>
<<set $basedef to Math.round($basedef * _random1)>>
<<set $baseagility to Math.round($baseagility * _random1)>>
<<set $basemartialArts to Math.round($basemartialArts * _random1)>>
<<set $basespiritualRoot to Math.round($basespiritualRoot * _random1)>>
<</link>>
<</if>>
<<else>>
<<set $cultivationStage = _stages[_stageIndex]>>
<p class="outcome-success">New Stage Achieved!<br><b>$cultivationStage</b></p>
<<link "Return" "Breakthrough">>
<<set $basemaxlifespan to Math.round($basemaxlifespan * _random)>>
<<set $basemaxhealth to Math.round($basemaxhealth * _random)>>
<<set $basemaxenergy to Math.round($basemaxenergy * _random)>>
<<set $baseluck to Math.round($baseluck * _random)>>
<<set $baseinsight to Math.round($baseinsight * _random)>>
<<set $basebasestrength to Math.round($basebasestrength * _random)>>
<<set $basebasewillpower to Math.round($basebasewillpower * _random)>>
<<set $baseatk to Math.round($baseatk * _random)>>
<<set $basedef to Math.round($basedef * _random)>>
<<set $baseagility to Math.round($baseagility * _random)>>
<<set $basemartialArts to Math.round($basemartialArts * _random)>>
<<set $basespiritualRoot to Math.round($basespiritualRoot * _random)>>
<</link>>
<</if>>
<</if>>
</div>
<</widget>>
<<widget "HealthBar">>
<<if $currenthealth eq $maxhealth>><img src="Images/Icons/health10.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.9)>><img src="Images/Icons/health9.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.8)>><img src="Images/Icons/health8.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.7)>><img src="Images/Icons/health7.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.6)>><img src="Images/Icons/health6.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.5)>><img src="Images/Icons/health5.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.4)>><img src="Images/Icons/health4.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.3)>><img src="Images/Icons/health3.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.2)>><img src="Images/Icons/health2.png" width=200 /><<elseif $currenthealth gte ($maxhealth*0.1)>><img src="Images/Icons/health1.png" width=200 /><<else>><img src="Images/Icons/health0.png" width=200 /><</if>>
<</widget>>
<<widget "HeaderFooter">>
<<if $energy gt $maxenergy>> <<set $energy = $maxenergy>><</if>>
<<if $energy lt 0>> <<set $energy = 0>><</if>>
<<if $health gt $maxhealth>> <<set $health = $maxhealth>><</if>>
<</widget>>
<<widget "FameCheck">>
to-do
<</widget>>
<<widget "StatsUpdater">>
/* Base stats + destiny bonuses */
<<set $atk = $baseatk + $destinyatk + ($basestrength*0.5) + $passiveatk>>
<<set $def = $basedef + $destinydef + $passivedef>>
<<set $crit = $basecrit + $destinycrit + $passivecrit>>
<<set $critres = $basecritres + $destinycritres + $passivecritres>>
<<set $agility = $baseagility + $destinyagility + $passiveagility>>
<<set $martialArts = $basemartialArts + $destinymartialArts>>
<<set $spiritualRoot = $basespiritualRoot + $destinyspiritualRoot>>
/* Core stats */
<<set $luck to $baseluck>>
<<set $insight to $baseinsight>>
<<set $evadescore = ($agility * 2) + ($insight * 1.5) + ($luck * 0.5)>>
/* Max stats */
<<set $maxlifespan to $basemaxlifespan + $destinylifespan>>
<<set $maxhealth to $basemaxhealth + $destinyenergy>>
<<set $maxenergy to $basemaxenergy + $destinyhealth>>
/* ==================== EQUIPMENT BONUSES ==================== */
/* Reset equipment bonuses */
<<set $equipatk to 0>>
<<set $equipdef to 0>>
<<set $equipcrit to 0>>
<<set $equipcritres to 0>>
<<set $equipagility to 0>>
<<set $equipwillpower to 0>>
<<set $equipstrength to 0>>
<<set $equiparmor to 0>>
<<set $equipinsight to 0>>
/* Robe Bonuses */
<<if $equippedRobe neq null>>
<<if $equippedRobe.stats neq null>>
<<if $equippedRobe.stats.atk neq null>><<set $equipatk += $equippedRobe.stats.atk>><</if>>
<<if $equippedRobe.stats.def neq null>><<set $equipdef += $equippedRobe.stats.def>><</if>>
<<if $equippedRobe.stats.crit neq null>><<set $equipcrit += $equippedRobe.stats.crit>><</if>>
<<if $equippedRobe.stats.critres neq null>><<set $equipcritres += $equippedRobe.stats.critres>><</if>>
<<if $equippedRobe.stats.agility neq null>><<set $equipagility += $equippedRobe.stats.agility>><</if>>
<<if $equippedRobe.stats.willpower neq null>><<set $equipwillpower += $equippedRobe.stats.willpower>><</if>>
<<if $equippedRobe.stats.strength neq null>><<set $equipstrength += $equippedRobe.stats.strength>><</if>>
<<if $equippedRobe.stats.armor neq null>><<set $equiparmor += $equippedRobe.stats.armor>><</if>>
<<if $equippedRobe.stats.insight neq null>><<set $equipinsight += $equippedRobe.stats.insight>><</if>>
<</if>>
<</if>>
/* Underwear Bonuses */
<<if $equippedUnderwear neq null>>
<<if $equippedUnderwear.stats neq null>>
<<if $equippedUnderwear.stats.atk neq null>><<set $equipatk += $equippedUnderwear.stats.atk>><</if>>
<<if $equippedUnderwear.stats.def neq null>><<set $equipdef += $equippedUnderwear.stats.def>><</if>>
<<if $equippedUnderwear.stats.crit neq null>><<set $equipcrit += $equippedUnderwear.stats.crit>><</if>>
<<if $equippedUnderwear.stats.critres neq null>><<set $equipcritres += $equippedUnderwear.stats.critres>><</if>>
<<if $equippedUnderwear.stats.agility neq null>><<set $equipagility += $equippedUnderwear.stats.agility>><</if>>
<<if $equippedUnderwear.stats.willpower neq null>><<set $equipwillpower += $equippedUnderwear.stats.willpower>><</if>>
<<if $equippedUnderwear.stats.strength neq null>><<set $equipstrength += $equippedUnderwear.stats.strength>><</if>>
<<if $equippedUnderwear.stats.armor neq null>><<set $equiparmor += $equippedUnderwear.stats.armor>><</if>>
<<if $equippedUnderwear.stats.insight neq null>><<set $equipinsight += $equippedUnderwear.stats.insight>><</if>>
<</if>>
<</if>>
/* Weapon Bonuses */
<<if $equippedWeapon neq null>>
<<if $equippedWeapon.stats neq null>>
<<if $equippedWeapon.stats.atk neq null>><<set $equipatk += $equippedWeapon.stats.atk>><</if>>
<<if $equippedWeapon.stats.def neq null>><<set $equipdef += $equippedWeapon.stats.def>><</if>>
<<if $equippedWeapon.stats.crit neq null>><<set $equipcrit += $equippedWeapon.stats.crit>><</if>>
<<if $equippedWeapon.stats.critres neq null>><<set $equipcritres += $equippedWeapon.stats.critres>><</if>>
<<if $equippedWeapon.stats.agility neq null>><<set $equipagility += $equippedWeapon.stats.agility>><</if>>
<<if $equippedWeapon.stats.willpower neq null>><<set $equipwillpower += $equippedWeapon.stats.willpower>><</if>>
<<if $equippedWeapon.stats.strength neq null>><<set $equipstrength += $equippedWeapon.stats.strength>><</if>>
<<if $equippedWeapon.stats.armor neq null>><<set $equiparmor += $equippedWeapon.stats.armor>><</if>>
<<if $equippedWeapon.stats.insight neq null>><<set $equipinsight += $equippedWeapon.stats.insight>><</if>>
<</if>>
<</if>>
/* Accessories Bonuses (3 slots) */
<<if $equippedAccessories neq null>>
<<for _i to 0; _i lt 3; _i++>>
<<set _acc to $equippedAccessories[_i]>>
<<if _acc neq null>>
<<if _acc.stats neq null>>
<<if _acc.stats.atk neq null>><<set $equipatk += _acc.stats.atk>><</if>>
<<if _acc.stats.def neq null>><<set $equipdef += _acc.stats.def>><</if>>
<<if _acc.stats.crit neq null>><<set $equipcrit += _acc.stats.crit>><</if>>
<<if _acc.stats.critres neq null>><<set $equipcritres += _acc.stats.critres>><</if>>
<<if _acc.stats.agility neq null>><<set $equipagility += _acc.stats.agility>><</if>>
<<if _acc.stats.willpower neq null>><<set $equipwillpower += _acc.stats.willpower>><</if>>
<<if _acc.stats.strength neq null>><<set $equipstrength += _acc.stats.strength>><</if>>
<<if _acc.stats.armor neq null>><<set $equiparmor += _acc.stats.armor>><</if>>
<<if _acc.stats.insight neq null>><<set $equipinsight += _acc.stats.insight>><</if>>
<</if>>
<</if>>
<</for>>
<</if>>
/* ==================== FINAL STATS WITH EQUIPMENT ==================== */
<<set $atk += $equipatk>>
<<set $def += $equipdef>>
<<set $crit += $equipcrit>>
<<set $critres += $equipcritres>>
<<set $agility += $equipagility>>
<<set $willpower = $basewillpower + $equipwillpower>> /* Add willpower if you have $willpower stat */
<<set $strength = $basestrength + $equipstrength>> /* Add strength if needed */
<<set $armor = $equiparmor>> /* New armor stat if you use it */
<<set $insight += $equipinsight>>
/* Recalculate evade if affected */
<<set $evadescore = ($agility * 2) + ($insight * 1.5) + ($luck * 0.5)>>
<</widget>>
<<widget "MissionFinish">>
<<if $MissionType eq "sect">>
<<set $ContributionPoints to ($ContributionPoints += $activeSideMission.reward)>>
<<set $CurrentPcSectReputation to ($CurrentPcSectReputation += $activeSideMission.gainFame)>>
<<set $sectFavor to ($sectFavor += $activeSideMission.favor)>>
<span class="mission"> <i>Mission finished!</i> </span>
<<link "Go back" $passage>><<set $pe to 0>><<set $activeSideMission to null>><<set $SideMissionStatus to null>><<set $turns += 1>><<set $npcFinished to null>><<set $cumcount = 0>><</link>>
<<else>>
<span class="mission"> <i>Mission finished!</i> </span>
<<set $gold to ($gold += $activeSideMission.reward)>>
<<set $fame to ($fame += $activeSideMission.gainFame)>>
<<link "Go back" $passage>><<set $pe to 0>><<set $SideMissionStatus to null>><<set $activeSideMission to null>><<set $turns += 1>><<set $npcFinished to null>><<set $cumcount = 0>><</link>>
<</if>>
<</widget>>
<<widget "MissionFailed">>
<<if $MissionType eq "sect">>
<span class="mission"> <i>Mission failed!</i> </span>
<<link "Go back" $passage>><<set $pe to 0>><<set $activeSideMission to null>><<set $SideMissionStatus to null>><<set $turns += 1>><<set $npcFinished to null>><<set $cumcount = 0>><</link>>
<<else>>
<span class="mission"> <i>Mission failed!</i> </span>
<<link "Go back" $passage>><<set $pe to 0>><<set $SideMissionStatus to null>><<set $activeSideMission to null>><<set $turns += 1>><<set $npcFinished to null>><<set $cumcount = 0>><</link>>
<</if>>
<</widget>>
<<widget "PositionCheckSex">>
<<if $cumcount >= 3>>
<<set _roll = random(1, 100)>>
<<if _roll <= 25>>
<<set $npcFinished = true>>
<p>He suddenly groans and releases deep inside without warning!</p>
<</if>>
<<if not $npcFinished>>
<p>He's close. Where do you want him to finish?</p>
<<link "Inside">>
<p>You pull him deeper and feel him release inside you.</p>
<</link>>
<<link "Outside">>
<p>You pull back just in time — he spills over your stomach.</p>
<</link>>
<<link "On your back">>
<p>You drop to your knees, and he finishes across your back.</p>
<</link>>
<</if>>
<</if>>
<</widget>>
<!-- mysteriouspillforgeInventory -->
<<widget "UpdatePortrait">>
<<if $equippedRobe.name neq "Naked State" and $equippedRobe.durability neq null>>
<<set _dur to $equippedRobe.durability>>
<<set _maxDur to $equippedRobe.maxDurability>>
<<if _dur eq _maxDur>>
<img src="images/Character/pristine.jpg" width="200" style="border:2px solid #ffd700; border-radius:10px;">
<<elseif _dur gt (_maxDur * 0.5)>>
<img src="images/Character/pristine.jpg" width="200" style="border:2px solid #ffd700; border-radius:10px;"> /* Still looks good */
<<elseif _dur gt (_maxDur * 0.2)>>
<img src="images/Character/torn.jpg" width="200" style="border:2px solid #ffd700; border-radius:10px;"> /* Torn state */
<<else>>
<img src="images/Character/bare.jpg" width="200" style="border:2px solid #ffd700; border-radius:10px;"> /* Fully destroyed */
<</if>>
<<else>>
<img src="images/Character/bare.jpg" width="200" style="border:2px solid #ffd700; border-radius:10px;"> /* Default */
<</if>>
<</widget>><<widget "Penetration_roll">>
<<set _roll to random(0,100)>>
<<if _roll lte 15>>
<<set _penetration to "anal">>
He's going for your ass!
<<else>>
<<set _penetration to "vaginal">>
He's going for your pussy.
<</if>>
<</widget>>
<<widget "BowBeforeMe">>
<<set _roll to random(0,100)>>
<<if _roll lte 100>>
<<goto "Arrogant Young Master Tavern">>
<</if>>
<</widget>>
<<widget "set_aym_doggy_desc">>
<<set _random_desc_1 = $vagDoggyArrogantYMdesc.pluck()>>
<<set _random_desc_2 = $vagDoggyArrogantYMdesc.pluck()>>
<<set _random_desc_3 = $vagDoggyArrogantYMdesc.pluck()>>
<<set $vagDoggyArrogantYMdesc = [
"He fucks you hard — hands gripping your hips, teeth at your neck, hips slamming into you with practiced cruelty. Every thrust is punctuated by some mocking praise.",
"His cock drives deep from behind, your ass slapping against his hips with every punishing thrust. He uses you like a toy, panting with pleasure as he dominates you.",
"You feel completely exposed as he takes you from behind, one hand on your neck and the other spanking your ass between thrusts. There's no gentleness — just raw, possessive force.",
"He grabs your hair and pulls you back as he thrusts deeper. Your cries only make him grin harder — you’re being claimed, over and over again.",
"Bent over with your face pressed to the bedding, you can only moan as he ruts into you like a beast in heat. He fucks like he owns you, and in this moment, maybe he does."
]>>
<</widget>>
<<widget "set_aym_doggy_talk">>
<<set _random_talk_1 = $vagArrogantYMtalks.pluck()>>
<<set _random_talk_2 = $vagArrogantYMtalks.pluck()>>
<<set _random_talk_3 = $vagArrogantYMtalks.pluck()>>
<<set $vagArrogantYMtalks = [
"You moan like a whore.",
"Maybe I’ll keep you here. You’d look perfect leashed beneath my desk.",
"I knew you’d be good on all fours.",
"You're dripping like a bitch in heat. Don't pretend you're not loving this.",
"Say thank you, slut — thank me for fucking you.",
"No one's going to fuck you like this again. I ruin everything I use.",
"You're not even trying to resist anymore. Good. Know your place.",
"Do you like being used by someone above your station?"
]>>
<</widget>>
<<widget "set_aym_cowgirl_desc">>
<<set _random_desc_1 = $vagCowgirlArrogantYMdesc.pluck()>>
<<set _random_desc_2 = $vagCowgirlArrogantYMdesc.pluck()>>
<<set _random_desc_3 = $vagCowgirlArrogantYMdesc.pluck()>>
<<set $vagCowgirlArrogantYMdesc = [
"He pulls you into his lap, your back to his chest, and forces you down onto his cock, letting you ride him like a toy built for his pleasure.",
"His hand cracks down on your ass, sharp and loud, leaving a red mark that stings with each bounce.",
"You feel his cock throb deep inside as he guides your hips, fucking you from beneath while you moan helplessly."
]>>
<</widget>>
<<widget "set_aym_cowgirl_talk">>
<<set _random_talk_1 = $vagArrogantYMtalks.pluck()>>
<<set _random_talk_2 = $vagArrogantYMtalks.pluck()>>
<<set _random_talk_3 = $vagArrogantYMtalks.pluck()>>
<<set $vagArrogantYMtalks = [
"Louder. I want everyone outside to hear what a good whore you are.",
"You ride like you've done this before — don't lie to me.",
"That ass will carry my handprint for days. Perfect.",
"I could sit here all night and let you fuck yourself stupid on my cock."
]>>
<</widget>>
<<widget "set_aym_proneboneANAL_desc">>
<<set _random_desc_1 = $analProneArrogantYMdesc.pluck()>>
<<set _random_desc_2 = $analProneArrogantYMdesc.pluck()>>
<<set _random_desc_3 = $analProneArrogantYMdesc.pluck()>>
<<set $analProneArrogantYMdesc = [
"He shoves your face down into the cushion, lifting your hips and exposing your hole before pushing inside slowly, stretching you open inch by inch.",
"Each thrust is hard and deep, his hips smacking against your ass while your moans are muffled in the fabric beneath you.",
"He leans over your back, breathing hotly into your ear as he pounds into your ass like he owns it."
]>>
<</widget>>
<<widget "set_aym_proneboneANAL_talk">>
<<set _random_talk_1 = $analArrogantYMtalks.pluck()>>
<<set _random_talk_2 = $analArrogantYMtalks.pluck()>>
<<set _random_talk_3 = $analArrogantYMtalks.pluck()>>
<<set $analArrogantYMtalks = [
"Face down, ass up — just how I like my pets.",
"You’ll feel this every time you sit, and you’ll remember who did it to you.",
"Even your tight little hole can't resist me.",
"You're nothing but a hole for my pleasure now. Accept it."
]>>
<</widget>>
<<widget "AymFinisher">>
<<set _roll to random(1,3)>>
<<if _roll eq 1>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img src="images/Sex/vagCreampie.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<<set _finisher_desc_1 = $vagArrogantYMcumCreampie.pluck()>>
<<set $vagArrogantYMcumCreampie = [
"With a final, brutal thrust, he buries himself deep — your walls clamp around him just as hot spurts of cum flood your pussy. He grunts, grinding in to make sure it all stays inside.",
"He slams in and holds you tight, cock twitching as he fills you. Warm, thick seed spills deep, and he sighs in satisfaction like he just claimed a prize.",
"You feel his cock throb deep inside, and then the hot rush of release. His cum leaks from you almost instantly, but he stays buried, as if daring it to escape.",
"His rhythm falters, then stops — and he groans low as he spills into you. You can feel every pulse, every drop marking you from the inside.",
"He fucks you straight through his climax, pumping cum into you with each lingering thrust. It’s messy, filthy, and he clearly loves it that way."
]>>
<<set _finisher_talk_1 = $vagArrogantYMcumTalkCreampie.pluck()>>
<<set $vagArrogantYMcumTalkCreampie = [
"That's where you belong — dripping full of me.",
"Hope you weren’t planning on using that hole for anyone else.",
"Mmm. You feel better wrapped around my cock than anyone else has.",
"I’ll leave it in for a while — wouldn’t want it leaking out too soon.",
"Consider yourself claimed. You’ll be smelling like me for days."
]>>
<<elseif _roll eq 2>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img src="images/Sex/swallow.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<<set _finisher_desc_1 = $ArrogantYMcumMouth.pluck()>>
<<set $ArrogantYMcumMouth = [
"He shoves your head down, groaning as he cums. Hot, bitter seed hits the back of your throat in thick spurts, and he doesn’t let you up until you’ve swallowed every drop.",
"His cock pulses against your tongue as he fills your mouth. You can’t help but gag slightly, but he just grins and tells you to keep going — to take it all.",
"He moans low and steady, holding your head tight as he cums directly into your mouth. You’re left with no choice but to swallow or choke.",
"Warm cum floods your mouth as he finishes, and you can taste every humiliating drop. He pulls out slow and wipes the tip against your lips.",
"He cums hard, and you feel it fill your mouth almost instantly. It drips down your chin as he laughs and wipes the excess across your cheek."
]>>
<<set _finisher_talk_1 = $vagArrogantYMcumTalkMouth.pluck()>>
<<set $vagArrogantYMcumTalkMouth = [
"Swallow it all. Don’t waste a drop.",
"Good whore. Maybe I’ll let you taste it again sometime.",
"You make a decent cumdump, I’ll give you that.",
"Open wider next time. I want to see it pool on your tongue.",
"Keep your mouth open. I’m not done using it."
]>>
<<elseif _roll eq 3>>
<<set _random0 = random(0,1)>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>><<if _random0 eq 0>>
<img src="images/Sex/facial.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 1>>
<img src="images/Sex/facial1.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
<<set _finisher_desc_1 = $ArrogantYMcumFace.pluck()>>
<<set $ArrogantYMcumFace = [
"He jerks himself fast, then tilts your chin up — hot ropes of cum splash across your cheeks, lips, and nose. You feel it drip as he smirks.",
"With a low grunt, he strokes out thick spurts that land across your face — some hitting your forehead, others your lips. You’re painted in disgrace.",
"His cock twitches in his grip, then he releases — warm cum hitting your face in wet splashes, some getting in your hair. He looks proud of the mess.",
"You close your eyes just in time. Cum streaks across your face, running down your jaw and onto your collarbone. He chuckles and calls it an improvement.",
"He holds your face steady, aiming every pulse of cum directly onto your features. You're left dripping, sticky, and humiliated — just how he likes it."
]>>
<<set _finisher_talk_1 = $vagArrogantYMcumTalkFace.pluck()>>
<<set $vagArrogantYMcumTalkFace = [
"Now that’s a good look for you. So fucking pretty like this.",
"Smile for me. Let everyone see how I decorated you.",
"Stay still. I want to admire my work.",
"That’s what your face is good for — catching my cum.",
"Wipe it off? No. Walk around like that. Let them know."
]>>
<</if>>
<</widget>>
<<widget "AymTavernImg">>
<<if _position eq "doggy">>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<<set _random0 to random(0,1)>>
<<if _random0 eq 0>>
<img src="images/Sex/doggy.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 1>>
<img src="images/Sex/doggy1.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
<<elseif _position eq "cowgirl">>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<<set _random0 to random(0,2)>>
<<if _random0 eq 0>>
<img src="images/Sex/revcow.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 1>>
<img src="images/Sex/revcow2.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 2>>
<img src="images/Sex/revcow3.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
<</if>>
<<if _penetration eq "anal">>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<<set _random0 to random(0,4)>>
<<if _random0 eq 0>>
<img src="images/Sex/pb.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 1>>
<img src="images/Sex/pb1.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 1>>
<img src="images/Sex/pb2.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 2>>
<img src="images/Sex/pb3.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _random0 eq 3>>
<img src="images/Sex/pb4.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
<</if>>
<</widget>><<link "go back" "Map|Region1">><</link>>
<<if $pe eq 0>>
\<<CreateNPC_Region1>>\
You've met _fullname
<<set _currenthealthNPC to _maxhealthNPC>>
<<set _currentenergyNPC to _maxenergyNPC>>
_intTrait
_extTrait
_cultivation
_currenthealthNPC / _maxhealthNPC
_currentenergyNPC / _maxenergyNPC
<<BeforeBattle>>
<<link "Battle1" "Battle1">><<set $passage to "Battle1">><<set $pe=0>><</link>>
[[x->HpLowEncounter][$pe=1]]
<<elseif $pe eq 1>>
You are fighting <<print $currentEnemy.fullname>>
Cultivation: <<print $currentEnemy.realm>>
HP: <<print $currentEnemy.NPCcurrenthealth>> / <<print $currentEnemy.NPCmaxhealth>>
Energy: <<print $currentEnemy.NPCcurrentenergy>> / <<print $currentEnemy.NPCmaxenergy>>
[[x2->HpLowEncounter][$pe=2]]
<<elseif $pe eq 2>>
<<if $health lte 0>>
You've lost!
<<elseif $currentEnemy.NPCcurrenthealth lte 0>>
You've won!
Do you want to
<<link "Kill enemy" "HpLowEncounter">> <<set $pe to 3>><</link>>
<<link "Humiliate enemy" "HpLowEncounter">> <<set $pe to 4>><</link>>
<<link "Spare him" "HpLowEncounter">><<set $pe to 5>><</link>>
<<else>>
<<PlayerTurn>>
<<EnemyTurn>>
<</if>>
[[contine->HpLowEncounter][$pe=1]]
<<elseif $pe eq 3>>
You've killed $currentEnemy.fullname
You gained some of his items!
<<link "Continue" "Map|Region1">>
<<set $pe to 0>><</link>>
<<elseif $pe eq 4>>
$currentEnemy.fullname won't forget this humiliation! He may seek revenge later!
<<set $currentEnemy.friendship to -5>>
<<set $currentEnemy.relationshipType to "rival">>
<<link "Continue" "Map|Region1">> <<BattleAddNPC>> <<set $pe to 0>><</link>>
<<elseif $pe eq 5>>
$currentEnemy.fullname is gratefull for your action! He will remember this!
<<set $currentEnemy.friendship to 1>>
<<set $currentEnemy.relationshipType to "friend">>
<<link "Continue" "Map|Region1">> <<set $pe to 0>><<BattleAddNPC>> <</link>>
<</if>><<if $pe eq 0>>
You are fighting $currentEnemy.fullname !
<<EnemyImage $currentEnemy.enemyregion $currentEnemy.enemyimage 300>><</EnemyImage>>
<b>General Actions</b>:
<<link "Attack" "HuntBeastsBattle|Region1">>
<<set $pe to 1>>
<<set $playeraction = "attack">>
<</link>>
<table class="abilities-table">\
<td>\
<b>Abilities</b>:
<<for _i to 0; _i lt $skillInventory.length; _i++>>\
<<if ($skillInventory[_i].category eq "attack" or $skillInventory[_i].category eq "special") and $skillInventory[_i].isEquipped eq "true">>
<<print $skillInventory[_i].name>> (Energy cost: $skillInventory[_i].energy )\
<<capture _i>>\
<<if $energy lt $skillInventory[_i].energy>><i>Not enough energy</i>
<<else>> <<link "Use" "HuntBeastsBattle|Region1">>
<<set $pe = 1>><<set $playeraction = "ability">> <<set $ability = $skillInventory[_i].widgetname>> <<set $abilityenergy = $skillInventory[_i].energy>><<set $energy -= $abilityenergy>> <<set $abilitylevel = $skillInventory[_i].level>> <</link>> <</if>>
<</capture>>\
<</if>>
<</for>>\
</td>
</table>
<<if $activePassiveSkill != "">>
<<Ability $activePassiveWidget>><</Ability>>
<</if>>
<<EnemyBattleTable>>
<<elseif $pe eq 1>>
<<if $playeraction eq "attack">>You attempt to hit the $currentEnemy.fullname !
<<PlayerAttackAttempt>>
<<if $playeraction = "attack success">>
<<PlayerAttackDamage>>
<<elseif $playeraction eq "attack failure">>
You missed your attack!
<</if>><</if>>
<<EnemyStun>>
<<if $enemyaction eq "attack">>The $currentEnemy.fullname attacks you!
<<EnemyAttackAttempt>>
<<if $enemyaction = "attack success">>
<<EnemyAttackDamage>>
<<elseif $enemyaction eq "attack failure">>
The $currentEnemy.fullname missed their attack!
<</if>><</if>>
<<if $playeraction eq "ability">>
<<Ability $ability>><</Ability>><</if>>
<<if $currentEnemy.NPCcurrenthealth lte 0>><<link "The enemy is slain! Victory!" $returnpassage>><<set $pe = 0>><<set $exp to $exp + $currentEnemy.enemyXP>><</link>>
You feel more experienced after winning with $currentEnemy.fullname !
<<set $loot to [$temperedbonefragment, $crimsonhideflake, $spiritvinetendril, $crackedflowcharm].random()>>
<p>You loot the corpse of the <<print $currentEnemy.fullname>> and find: <b><<print $loot.name>></b>.</p><<AddItemToInventory $loot>>
<<elseif $health lte 0>><<link "You've lost!" "GameOver">><</link>>
<<else>><<link "Continue battle" $passage>><<set $pe = 0>><</link>>
<</if>>
<</if>><<HuntBeastsR1>>
_description
<<link "Run away before _fullname sees you!" "Map|Region1">> <</link>>
<<link "Fall back and try to hunt different beast" "HuntBeasts|Region1">> <</link>>
<<link "Battle" "HuntBeastsBattle|Region1">><<set $passage to "HuntBeastsBattle|Region1">><<BeforeBattle>><<set $pe=0>><</link>><<if $pe eq 0>>
<<set $roomAvailable to random(0,100)>><<if $currentRegion eq "Region1">><<set _regionalCost to 1>><</if>><<set $innStayCost to 50*_regionalCost>>
<<if $roomAvailable lt 30>>
<p>The innkeeper sighs deeply, rubbing his temples.</p>
<p><em>"I'm sorry, but we're fully booked tonight. A merchant caravan arrived just before sunset. Try again next time, maybe some rooms will open up."</em></p>
<<else>>
<p>You push open the creaking wooden doors of the inn. A faint scent of herbal incense hangs in the air.</p>
<p>The innkeeper greets you with a smile. <em>"Welcome, traveler. A good night's rest will restore your strength."</em></p>
<p>Cost: <<print $innStayCost>> spirit stones</p>
<<if $gold gte $innStayCost>><<link "Rent a room and rest" "Inn">><<set $pe to 1>><</link>><<else>><p><em>"You don't have enough coin,"</em> the innkeeper says coldly.</p><</if>>
<</if>>
<<elseif $pe eq 1>>
<p>You sleep soundly through the night. Your body heals and your qi stabilizes. You feel refreshed and restored.</p>
<<set $turns +=2>>
<<set $health = $maxhealth>>
<<set $energy = $maxenergy>>
<<set $gold -= $innStayCost>>
<</if>>\
<<link "Go back" $passage>><<set $pe to 0>><</link>><<nobr>>
<<if $pe eq 0>>
<br><img src="images/Story/intro.jpg" class=center width="60%">
<<run Dialog.setup("Movement & Skills")>>
<<run Dialog.wiki("You can move around the map using <b>WASD</b> keys.<br><br> Before engaging in battles, make sure to equip your skills! After you finish the prologue, open the <b>Skills</b> tab (bottom of the screen) to prepare your abilities.")>>
<<run Dialog.open()>>
<br>The wind howled like a crying ghost as dusk fell over the broken ridges of Mount Yunsu. You had come here chasing whispers—rumors of spirit beasts and hidden herbs—but found something far beyond the mundane.
<br>
<br>From behind a cluster of jagged boulders, you watched in awe and terror as two figures clashed mid-air—one cloaked in black flame, the other wrapped in blinding golden radiance. Swords hummed with killing intent, Qi tore through the sky, and even the clouds trembled. A battle between cultivators of opposing sects: one clearly righteous, the other reeking of demonic aura.
<br>
<br>As the duel reached its climax, the heavens themselves roared.
<br>
<br>Suddenly, the sky darkened. Black thunderclouds surged, lightning coiling like serpents. A blinding pillar of light struck between them, forcing both to crash to the earth. And from that split in the heavens… something impossible emerged.
<br>
<br>A mythical dragon, scaled in starlight and shadow, descended with a roar that shook your soul. The cultivators, powerful as they were, stood no chance. Their bodies, burned and bloodied, now lie in the clearing before you—half-dead, half-conscious. Their swords broken, their treasures scattered, their pride shattered.
<br>
<br>And now… they are within your reach.
<br>
<br>Observe [[righteous cultivator->Intro][$pe=2]] / [[demonic cultivator->Intro][$pe=3]]
<br>Help [[righteous cultivator->Intro][$pe=4]] / [[demonic cultivator->Intro][$pe=5]]
<br>Kill [[righteous cultivator->Intro][$pe=6]] / [[demonic cultivator->Intro][$pe=7]]
<<set $hasHelped to null>>
<<set $helpGiven to null>>
<<set $hasKilled1 to null>>
<<set $hasKilled2 to null>>
<<elseif $pe eq 2>>
<<if $hasKilled1 eq 1>><<else>><img src="images/Story/intro1.jpg" class=center width="60%">
<br>You approach the wounded woman wrapped in white robes. Despite the blood crusted on her lips and the scorched symbols along her sleeves, her aura still pulses with a righteous glow. A badge lies near her hand—<b>Clear Sky Azure Dragon Pavilion</b>, a prestigious clan known for defending mortals from demonic beasts.
<br>
<br>Even now, her fingers twitch as if prepared to summon a final technique.
<br>
<br>Do you:
<br>
<br><<if $hasHelped is true>>You’ve already drained your Qi. You cannot help another.
<br><<else>>Help [[righteous cultivator->Intro][$pe=4]]<</if>>
<br><<if $helpGiven eq "righteous">><<else>>Kill [[righteous cultivator->Intro][$pe=6]]<</if>><</if>>
<br>Return to observe [[demonic cultivator->Intro][$pe=3]]
<br><<if $hasHelped neq null or $helpGiven neq null or $hasKilled1 neq null or $hasKilled2 neq null>><<link "Continue" "Map|Region1">><</link>> with your journey!<</if>>
<br>
<br><<elseif $pe eq 3>><<if $hasKilled2 eq 1>><<else>>
<br><img src="images/Story/intro2.jpg" class=center width="60%">
<br>The man in black robes coughs violently, blood and bile leaking from his lips. Despite his wounds, his eyes flicker with cruel cunning. His Qi is wild—corrupted. A broken pendant rests beside him: the sigil of the <b>Ghost King Netherworld Sect</b>.
<br>
<br>Yet something about the way he clutches a charm in his hand feels... personal.
<br>
<br>Do you:
<br>
<br><<if $hasHelped is true>>You’ve already drained your Qi. You cannot help another.
<br><<else>>Help [[demonic cultivator->Intro][$pe=5]] <</if>>
<br><<if $helpGiven eq "evil">><<else>>Kill [[demonic cultivator->Intro][$pe=7]]<</if>><</if>>
<br>Return to observe [[righteous cultivator->Intro][$pe=2]]
<br><<if $hasHelped neq null or $helpGiven neq null or $hasKilled1 neq null or $hasKilled2 neq null>><<link "Continue" "Map|Region1">><</link>> with your journey!<</if>>
<<elseif $pe eq 4>>
<<set $hasHelped to true>>
<<set $helpGiven to "righteous">>
<br>You kneel beside her and press your palm to her back. Your Qi flows into her shattered meridians, stabilizing her foundation. She coughs blood, then gasps sharply as the pain fades.
<br>Her eyes flutter open—golden irises lock with yours. <span class="righteous">“You... saved me,”</span> she whispers.
<br>She presses a jade token into your hand.
<br><span class="righteous">“Take this. If you ever seek the <b>Clear Sky Azure Dragon Pavilion</b>, they will receive you.”</span>
<br>
<br>You are too drained to help another.
<<set $recommendationLetter to "righteous">>
<br>Return to observe [[demonic cultivator->Intro][$pe=3]]
<br><<if $hasHelped neq null or $helpGiven neq null or $hasKilled1 neq null or $hasKilled2 neq null>><<link "Continue" "Map|Region1">><</link>> with your journey!<</if>>
<<elseif $pe eq 5>>
<<set $hasHelped to true>>
<<set $helpGiven to "evil">>
<br>You crouch by his side, ignoring the corrupted aura. Focusing your Qi, you guide it into his mangled dantian. He groans, then snarls back to life—eyes glowing with crimson light.He coughs, then tosses you a blood-stained token.
<br><span class="demonic">“You're not like the others. If you want power… come to the <b>Ghost King Netherworld Sect</b>.”</span>
<br>
<br>You feel dizzy—there’s no way you could stabilize another after this.
<<set $recommendationLetter to "evil">>
<br>Return to observe [[righteous cultivator->Intro][$pe=2]]
<br><<if $hasHelped neq null or $helpGiven neq null or $hasKilled1 neq null or $hasKilled2 neq null>><<link "Continue" "Map|Region1">><</link>> with your journey!<</if>>
<<elseif $pe eq 6>>
<br>She tries to lift her head, eyes dazed. Your blade finds her throat before she can speak.
<br>
<br>It’s quick. Her blood steams in the cold mountain air.
<br>
<br>Among her shattered belongings, you find rare herb and some spirit stones. A cache worthy of a true cultivator.
<<gainRandomItem>> <<set $gold+=random(150,350)>>
<<set $hasKilled1 to 1>>
<br>Return to observe [[demonic cultivator->Intro][$pe=3]]
<br><<if $hasHelped neq null or $helpGiven neq null or $hasKilled1 neq null or $hasKilled2 neq null>><<link "Continue" "Map|Region1">><</link>> with your journey!<</if>>
<<elseif $pe eq 7>>
<br>He senses your approach—too late. Your strike pierces his heart with precision.
<br>
<br>He gurgles a curse and slumps back, lifeless. The dark mist around him vanishes.
<br>
<br>You rummage through his possessions: rare herb and some spirit stones.
<br>
<<gainRandomItem>> <<set $gold+=random(150,350)>>
<<set $hasKilled2 to 1>>
<br>Return to observe [[righteous cultivator->Intro][$pe=2]]
<br><<if $hasHelped neq null or $helpGiven neq null or $hasKilled1 neq null or $hasKilled2 neq null>><<link "Continue" "Map|Region1">><</link>> with your journey!<</if>>
<</if>>
<<set $playerX = 0>>
<<set $playerY = 13>>
<<set _tileSize = 50>>
<<set _x = $playerX * _tileSize>>
<<set _y = $playerY * _tileSize>>
<<set $map = [
[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],
[1,1,1,1,1,1,0,0,0,2,2,0,0,-1],
[1,1,1,1,1,1,0,0,0,2,2,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,3,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,2,0,0,0,0,0,0,0,0,0,0,-1],
[0,0,0,0,0,0,0,0,0,0,0,0,0,-1]
]>>
<<set $CurrentPcSectRank to "">>
<</nobr>><<widget "gainRandomItem">>
<<set _item = clone(either(...$itemList))>>
<<set _exists = false>>
<<for _i = 0; _i < $playeriteminventory.length; _i++>>
<<if $playeriteminventory[_i].name == _item.name>>
<<set $playeriteminventory[_i].quantity += 1>>
<<set _exists = true>>
<<break>>
<</if>>
<</for>>
<<if not _exists>>
<<set _item.quantity += 1>>
<<set $playeriteminventory.push(_item)>>
<</if>>
<</widget>>
<<widget "AddItemToInventory">>
<<set _found = false>>
<<for _item range $playeriteminventory>>
<<if _item.name == _args[0].name>>
<<set _item.quantity += 1>>
<<set _found = true>>
<</if>>
<</for>>
<<if not _found>>
<<set _newItem = clone(_args[0])>>
<<set _newItem.quantity = 1>>
<<set $playeriteminventory.push(_newItem)>>
<</if>>
<</widget>>
<<widget "craftItem">>
<<set _recipe = _args[0]>>
<<set _canCraft = true>>
<!-- Sprawdzanie, czy gracz ma wystarczającą ilość składników -->
<<for _id, _qty range _recipe.ingredients>>
<<set _found = $playeriteminventory.find(function(item) { return item.name == _id })>>
<<if !_found or _found.quantity < _qty>> <!-- Jeśli brakuje przedmiotu lub ilość jest za mała -->
<<set _canCraft = false>>
<</if>>
<</for>>
<<if _canCraft>>
<!-- Odejmowanie składników -->
<<for _id, _qty range _recipe.ingredients>>
<<set _item = $playeriteminventory.find(function(item) { return item.name == _id })>>
<<if _item>> <!-- Sprawdzamy, czy przedmiot istnieje -->
<<set _item.quantity -= _qty>>
<<if _item.quantity <= 0>> <!-- Jeśli ilość przedmiotu wynosi 0, usuwamy go -->
<<set $playeriteminventory = $playeriteminventory.filter(function(item) { return item.name != _id })>>
<</if>>
<</if>>
<</for>>
<!-- Dodawanie wynikowego przedmiotu -->
<<set _existing = $playerpotioninventory.find(function(item) { return item.id == _recipe.result.id })>>
<<if _existing>> <!-- Jeśli przedmiot już istnieje, zwiększamy ilość -->
<<set _existing.quantity += _recipe.result.quantity>>
<<else>> <!-- Jeśli przedmiot nie istnieje, tworzymy nowy -->
<<set _newItem = clone(_recipe.result)>>
<<run $playerpotioninventory.push(_newItem)>>
<</if>>
<!-- Komunikat o sukcesie -->
<<replace "#craftlog">>You've crafted: <b><<print _recipe.result.name>></b>!<</replace>>
<<else>>
<!-- Komunikat o braku składników -->
<<replace "#craftlog">><span style="color: red;">Not enough ingredients to craft <b><<print _recipe.name>></b>!</span><</replace>>
<</if>>
<</widget>>
basestrength
<<widget "useItem">>
<<if $selectedPotion.quantity gt 0>>
<<set $selectedPotion.quantity to $selectedPotion.quantity - 1>>
<<if $selectedPotion.effect eq "boostStrength">>
<<if $selectedPotion.maxStatLimit gte $basestrength>>
<<set $basestrength to $basestrength + 1>>
<<replace "#log">>Your strength has been boosted!<</replace>>
<<else>>
<<replace "#log">>Your strength is already at maximum. No effect was applied.<</replace>>
<</if>>
<<elseif $selectedPotion.effect eq "somethingElse">>
<<print "Other effect activated!">>
<</if>>
<<else>>
<<replace "#log">>You don't have enough of this item!<</replace>>
<<replace "#use-log">>
<div class="use-log failure">
<span class="glow-text warning">Meridians remain still...</span><br>
You reach for a <<print _potion.name>>, but find only an empty pouch.
</div>
<</replace>>
<</if>>
<</widget>>
<<widget "LootAfterBattle">>
to-do
<</widget>><<set $temperedbonefragment to {"name": "Tempered Bone Fragment", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 40, "tripleprice": 120, "sellprice": 12, "class": "item", "quantity": 0, "description": "Beast bone used to toughen the body.", "id": "temperedbonefragment"}>>
<<set $bodyforgingelixir to {"name": "Body Forging Elixir", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 50, "tripleprice": 150, "sellprice": 15, "class": "item", "quantity": 0, "description": "Strengthens muscles during training.", "id": "bodyforgingelixir"}>>
<<set $copperskinpowder to {"name": "Copper Skin Powder", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 45, "tripleprice": 135, "sellprice": 13, "class": "item", "quantity": 0, "description": "Boosts external durability for beginners.", "id": "copperskinpowder"}>>
<<set $bloodhardeningherb to {"name": "Blood Hardening Herb", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 55, "tripleprice": 165, "sellprice": 16, "class": "item", "quantity": 0, "description": "Thickens blood, reinforcing organs.", "id": "bloodhardeningherb"}>>
<<set $sturdygrassfiber to {"name": "Sturdy Grass Fiber", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 35, "tripleprice": 105, "sellprice": 10, "class": "item", "quantity": 0, "description": "Used in martial body rituals.", "id": "sturdygrassfiber"}>>
<<set $ironbloodlotusseed to {"name": "Ironblood Lotus Seed", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 90, "tripleprice": 270, "sellprice": 27, "class": "item", "quantity": 0, "description": "A seed that fortifies bone and blood.", "id": "ironbloodlotusseed"}>>
<<set $mountainoxtendon to {"name": "Mountain Ox Tendon", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 100, "tripleprice": 300, "sellprice": 30, "class": "item", "quantity": 0, "description": "Contains essence to improve muscle density.", "id": "mountainoxtendon"}>>
<<set $crimsonhideflake to {"name": "Crimson Hide Flake", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 85, "tripleprice": 255, "sellprice": 25, "class": "item", "quantity": 0, "description": "From beasts known for tough hides.", "id": "crimsonhideflake"}>>
<<set $vitalityroot to {"name": "Vitality Root", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 95, "tripleprice": 285, "sellprice": 28, "class": "item", "quantity": 0, "description": "Improves endurance and physical resilience.", "id": "vitalityroot"}>>
<<set $burningsandresin to {"name": "Burning Sand Resin", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 80, "tripleprice": 240, "sellprice": 24, "class": "item", "quantity": 0, "description": "Mixed into pills for body forging.", "id": "burningsandresin"}>>
<<set $dragonbonedust to {"name": "Dragonbone Dust", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 45, "class": "item", "quantity": 0, "description": "Legendary dust said to make skin unbreakable.", "id": "dragonbonedust"}>>
<<set $moltengolddew to {"name": "Molten Gold Dew", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 400, "tripleprice": 1200, "sellprice": 360, "class": "item", "quantity": 0, "description": "Rare liquid said to rebuild the body.", "id": "moltengolddew"}>>
<<set $titanapehair to {"name": "Titan Ape Hair", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 155, "tripleprice": 465, "sellprice": 46, "class": "item", "quantity": 0, "description": "Imbues user with great physical strength.", "id": "titanapehair"}>>
<<set $heavenlyemberflower to {"name": "Heavenly Ember Flower", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 165, "tripleprice": 495, "sellprice": 49, "class": "item", "quantity": 0, "description": "Used in heavenly-grade body pills.", "id": "heavenlyemberflower"}>>
<<set $phoenixbloodflake to {"name": "Phoenix Blood Flake", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 170, "tripleprice": 510, "sellprice": 51, "class": "item", "quantity": 0, "description": "Reshapes mortal frame to near-divine.", "id": "phoenixbloodflake"}>>
<<set $spiritvinetendril to {"name": "Spirit Vine Tendril", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 45, "tripleprice": 135, "sellprice": 13, "class": "item", "quantity": 0, "description": "Mildly stimulates meridian activity.", "id": "spiritvinetendril"}>>
<<set $qispunsilk to {"name": "Qi-Spun Silk", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 40, "tripleprice": 120, "sellprice": 12, "class": "item", "quantity": 0, "description": "Enhances energy circulation slightly.", "id": "qispunsilk"}>>
<<set $stonepulsepebble to {"name": "Stone Pulse Pebble", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 50, "tripleprice": 150, "sellprice": 15, "class": "item", "quantity": 0, "description": "Used in meditative formations.", "id": "stonepulsepebble"}>>
<<set $clearwaterextract to {"name": "Clearwater Extract", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 55, "tripleprice": 165, "sellprice": 16, "class": "item", "quantity": 0, "description": "Flushes impurities from meridians.", "id": "clearwaterextract"}>>
<<set $lessermeridiandust to {"name": "Lesser Meridian Dust", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 35, "tripleprice": 105, "sellprice": 10, "class": "item", "quantity": 0, "description": "Base material for opening pill recipes.", "id": "lessermeridiandust"}>>
<<set $brightmeridiancrystal to {"name": "Bright Meridian Crystal", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 95, "tripleprice": 285, "sellprice": 28, "class": "item", "quantity": 0, "description": "Directly enhances inner flow.", "id": "brightmeridiancrystal"}>>
<<set $serpentpulsesalve to {"name": "Serpent Pulse Salve", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 90, "tripleprice": 270, "sellprice": 27, "class": "item", "quantity": 0, "description": "Used to ease meridian blockages.", "id": "serpentpulsesalve"}>>
<<set $thunderweed to {"name": "Thunderweed", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 85, "tripleprice": 255, "sellprice": 25, "class": "item", "quantity": 0, "description": "Stimulates qi flow violently.", "id": "thunderweed"}>>
<<set $moonlightshell to {"name": "Moonlight Shell", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 100, "tripleprice": 300, "sellprice": 30, "class": "item", "quantity": 0, "description": "Cools and soothes energy pathways.", "id": "moonlightshell"}>>
<<set $nineleaflotus to {"name": "Nineleaf Lotus", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 105, "tripleprice": 315, "sellprice": 31, "class": "item", "quantity": 0, "description": "Refines and strengthens core meridians.", "id": "nineleaflotus"}>>
<<set $divinepulsestone to {"name": "Divine Pulse Stone", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 160, "tripleprice": 480, "sellprice": 48, "class": "item", "quantity": 0, "description": "Used by ancient sects for breakthroughs.", "id": "divinepulsestone"}>>
<<set $astraldewdrop to {"name": "Astral Dewdrop", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 170, "tripleprice": 510, "sellprice": 51, "class": "item", "quantity": 0, "description": "Mythical water for meridian clarity.", "id": "astraldewdrop"}>>
<<set $qidragonpearl to {"name": "Qi Dragon Pearl", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 175, "tripleprice": 525, "sellprice": 52, "class": "item", "quantity": 0, "description": "Enhances all internal channels.", "id": "qidragonpearl"}>>
<<set $voidmeridiancore to {"name": "Void Meridian Core", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 165, "tripleprice": 495, "sellprice": 49, "class": "item", "quantity": 0, "description": "Said to awaken even dormant talents.", "id": "voidmeridiancore"}>>
<<set $sunheartbark to {"name": "Sunheart Bark", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 155, "tripleprice": 465, "sellprice": 46, "class": "item", "quantity": 0, "description": "Generates warmth that spreads through body.", "id": "sunheartbark"}>>
<<set $faintqicrystal to {"name": "Faint Qi Crystal", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 50, "tripleprice": 150, "sellprice": 15, "class": "item", "quantity": 0, "description": "Can be absorbed by beginners.", "id": "faintqicrystal"}>>
<<set $meditationdust to {"name": "Meditation Dust", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 45, "tripleprice": 135, "sellprice": 13, "class": "item", "quantity": 0, "description": "Improves focus during breakthrough.", "id": "meditationdust"}>>
<<set $refinedspiritwater to {"name": "Refined Spirit Water", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 55, "tripleprice": 165, "sellprice": 16, "class": "item", "quantity": 0, "description": "Helps stabilize internal energy.", "id": "refinedspiritwater"}>>
<<set $crackedflowcharm to {"name": "Cracked Flow Charm", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 40, "tripleprice": 120, "sellprice": 12, "class": "item", "quantity": 0, "description": "Still carries usable qi patterns.", "id": "crackedflowcharm"}>>
<<set $risingmistherb to {"name": "Rising Mist Herb", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 35, "tripleprice": 105, "sellprice": 10, "class": "item", "quantity": 0, "description": "Mildly enhances energy cohesion.", "id": "risingmistherb"}>>
<<set $condensedqistone to {"name": "Condensed Qi Stone", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 95, "tripleprice": 285, "sellprice": 28, "class": "item", "quantity": 0, "description": "Holds stable, purified energy.", "id": "condensedqistone"}>>
<<set $jadegatheringthread to {"name": "Jade Gathering Thread", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 100, "tripleprice": 300, "sellprice": 30, "class": "item", "quantity": 0, "description": "Conducts energy smoothly during training.", "id": "jadegatheringthread"}>>
<<set $flowrootessence to {"name": "Flowroot Essence", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 90, "tripleprice": 270, "sellprice": 27, "class": "item", "quantity": 0, "description": "Draws external energy inward.", "id": "flowrootessence"}>>
<<set $innerflamecore to {"name": "Inner Flame Core", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 85, "tripleprice": 255, "sellprice": 25, "class": "item", "quantity": 0, "description": "Improves inner condensation quality.", "id": "innerflamecore"}>>
<<set $windveinpowder to {"name": "Wind Vein Powder", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 105, "tripleprice": 315, "sellprice": 31, "class": "item", "quantity": 0, "description": "Boosts spiraling qi motion.", "id": "windveinpowder"}>>
<<set $voidstormtear to {"name": "Voidstorm Tear", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 180, "tripleprice": 540, "sellprice": 54, "class": "item", "quantity": 0, "description": "Used to condense divine-quality qi.", "id": "voidstormtear"}>>
<<set $celestialcorecrystal to {"name": "Celestial Core Crystal", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 190, "tripleprice": 570, "sellprice": 57, "class": "item", "quantity": 0, "description": "Pulsates with raw elemental energy.", "id": "celestialcorecrystal"}>>
<<set $heavendrawingink to {"name": "Heaven-Drawing Ink", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 170, "tripleprice": 510, "sellprice": 51, "class": "item", "quantity": 0, "description": "Used in inscriptions to reshape qi.", "id": "heavendrawingink"}>>
<<set $originqiflake to {"name": "Origin Qi Flake", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 175, "tripleprice": 525, "sellprice": 52, "class": "item", "quantity": 0, "description": "Contains untouched universal energy.", "id": "originqiflake"}>>
<<set $truemistheart to {"name": "True Mist Heart", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 185, "tripleprice": 555, "sellprice": 55, "class": "item", "quantity": 0, "description": "Condenses all surrounding energies into user.", "id": "truemistheart"}>><img src="images/Locations/JadeCreekTown.jpg" class="location-bg" width="80%">
<<nobr>>
<<set $city to passage()>>
<<set $passage to passage()>>
<<set $pe to 0>>
<div class="action-tablet">
<<link "Exit" "Map|Region1">><</link>>
<<link "The Workshop" "The Workshop">><</link>>
<<link "Bounty Board" "Bounty Board">><</link>>
<<link "Inn" "Inn">><</link>>
<<link "Tavern" "Tavern">><</link>>
<<link "Market" "Market">><</link>>
<<link "Public Baths" "Public Baths">><</link>>
<<link "Participate in tournament!" "Tournament|Region1">><</link>>
<<link "x" "Jade Creek Town">><<set $equippedRobe.durability -= random(15, 35)>><</link >>
</div>
<</nobr>>At its center, a stone slab rises from the earth. Carved into its face are the names of those whose insight, effort, or support helped shape the path you now walk.
In recognition of those who lent their strength to this journey:
Greeedium
telotelo
— and all others whose hands guided the early climb.
The wind is still. The mountain watches in silence, acknowledging those who helped make the ascent possible.
<<link "Go back" $passage>> <</link>><<if $mainStageStarted eq "false">>
You cautiously approach the source of the light. As you draw near, you discover a small, swirling entrance—a shimmering portal, barely visible to the naked eye.
Before you can react, an unknown force grabs you, pulling you through the portal with overwhelming power!
<<timed 2s>>
You lose consciousness for a moment. When you open your eyes, you find yourself standing in a strange, hidden realm. Ancient runes glow faintly on the walls around you. You realize you might have stumbled upon a long-forgotten tomb of an ancient immortal.
<<linkappend "Continue">>
As you step into the ancient tomb, the air grows still. Dust floats in the golden light leaking from cracks in the ceiling.
The stone floor beneath your feet is covered with strange symbols — etched into the rock with a precision that defies time.
At the far end of the chamber lies a raised platform. An ornate coffin rests at its center, flanked by broken statues and faded murals of celestial battles.
The atmosphere is heavy with spiritual pressure, as if the air itself remembers the power once held here.
Suddenly, a faint blue mist rises from the coffin — gathering into a vague humanoid form hovering above it.
<span class="soul">"So... even now, fate finds a way to mock me..."</span>
You tense instinctively. The presence is powerful... but fractured.
<span class="player">"Who are you?"</span>
The mist wavers, flickering with ancient sorrow.
<span class="soul">"I was once called Yu Wei, of the Blazing Phoenix Sect...
But titles no longer matter. I am what remains — a dying will, drifting on borrowed time."</span>
He drifts closer, looking into your eyes.
<span class="soul">"You... are not ready. Your cultivation is but a candle in the storm.
Yet... I have no choice. The echoes of what I witnessed must be passed on... or forgotten forever."
</span>
You hesitate.<span class="player">"Why me?"</span>
<span class="soul">"Because no one else is here...""</span>
The air hums with resonance. The tomb grows dim.
<span class="soul">"Let me show you what lies beyond mortal comprehension...
A glimpse... of what once shook the heavens. A demon… born of primordial chaos. It struck without warning. Our sect… fell in a single day. My disciples... elders... all of them… gone. I was mortally wounded… and my loyal few cast a final spatial art, dragging my body here… beyond time."</span>
<<linkappend "The world shifts. Your mind is pulled into the immortal's final memory.">>
You stand at the edge of a vast battlefield, skies burning violet, stars collapsing above. Celestial cultivators soar across the sky, locked in brutal combat with a massive, ever-shifting being of smoke and darkness — a Chaos Demon
<img src="images/Story/ancientchaosdemon.png" width=70%>
You see a tower of light shatter. Sect crumble. Divine weapons twist into shadows.
<img src="images/Story/ancientdeath.png" width=70%>
<span class="soul">"I struck it down — or so I thought.
But chaos does not die… it only waits."</span>
<<linkappend "Return to the Tomb">>
The vision ends. You're back in the tomb. Yu Wei flickers violently.
<span class="soul">"It is returning. I can feel it… a stirring in the Lower Planes. You may not be the one to stop it… But perhaps, you’ll live long enough to warn the others."</span>
He drifts back toward the coffin.
<span class="soul">"Take what remains of my will. May it guide you… until your path diverges from mine."</span>
A glowing sigil appears in the air. It burns itself into your spirit.
As the light fades, the tomb begins to crumble and you're pushed out of this <<link "realm" "Map|Region1">><<set $mainStageStarted to "true">><<set $baseatk +=4>><<set $basedef +=4>><<set $baseagility +=4>><<set $baseluck +=4>><<set $baseinsight +=4>><</link>>
<</linkappend>>
<</linkappend>>
<</linkappend>>
<</timed>>
<</if>>
<<if $mainStageStarted eq "true" and $mainStage eq 0>>
<</if>><<set $mainStageStarted = "false">>
<<set $mainStage = 0>>\
\
<<set _currentRankIndex = $sectRanks.indexOf($CurrentPcSectRank)>>\
<<if $selectedFloor eq null>>\
<<set $selectedFloor = "Initiate">>\
<</if>>\
<div class="floor-selector" style="margin-bottom: 1em;">\
<<link "Go back" $passage>><<set $pe to 0>> <</link>>\
<<if _currentRankIndex gte $sectRanks.indexOf("Initiate")>>
<<link "📘 Floor I" "Manual Library|Stage 1">><<set $selectedFloor = "Initiate">><</link>>\
<</if>>\
<<if _currentRankIndex gte $sectRanks.indexOf("Disciple")>>
<<link "📙 Floor II" "Manual Library|Stage 1">><<set $selectedFloor = "Disciple">><</link>>\
<</if>>\
</div>\
\
<<set _floorRank = $selectedFloor>>\
<<set _floorIndex = $sectRanks.indexOf(_floorRank)>>\
<<set _floorLabel = _floorRank.toUpperCase()>>\
<<if _currentRankIndex >= _floorIndex>>\
\
\
\
<h2 class="floor-header">📜 Manual Library – <<= _floorLabel >></h2>\
<<set _manualList = $sectManuals[$CurrentPcSect][_floorRank]>>\
\
<<if _manualList and _manualList.length > 0>>\
<<for _manual range _manualList>>\
<<capture _manual>>\
<div class="manual-entry" style="border:1px solid #444; border-radius:8px; padding:0.75em; margin-bottom:1em; background:#1a1a1a; color:#e0e0e0;">
<h4 style="margin:0 0 0.2em 0;">\
<<= _manual.name >> \
<span style="font-size: 0.8em; font-weight: normal; color:#aaa;">[<i><<= _manual.category >> Manual</i>]</span>\
</h4>\
<p style="margin:0 0 0.5em 0;"><small><<= _manual.description >></small></p>\
<p style="margin:0 0 0.5em 0;">🪙 <b>Cost:</b> <span style="color:#ffe28a;"><<= _manual.ContributionPointCost >> CP</span></p>\
\
<<set _alreadyKnown = $skillInventory.some(x => x.skillid == _manual.skillid)>>\
\
<<if _alreadyKnown>>\
<div class="manual-note" style="color:#6cff6c;">✔️ You already possess this manual.</div>\
<<else>>\
<<if $ContributionPoints >= _manual.ContributionPointCost>>\
<<link "Learn this Manual" "Manual Library|Stage 1">>\
<<set $ContributionPoints -= _manual.ContributionPointCost>>\
<<set $skillInventory.push(clone(_manual))>>\
You’ve successfully acquired the <<=_manual.name>> manual!
<<replace "#manuals">><<include "ManualLibrary">>\<</replace>>\
<</link>>\
<<else>>\
<div class="manual-note" style="color:#ff6666;">❌ Not enough Contribution Points.</div>\
<</if>>\
<</if>>\
</div>\
<</capture>>\
<</for>>\
\
<<else>>\
<p style="color:#aaa;">📭 No manuals available on this floor.</p>
<</if>>\
\
<<else>>\
<p style="color:#999;">🚫 You do not have permission to access this floor.</p>
<</if>>\
\
<div id="manuals"></div>\<<nobr>>
<<set $pe to 0>>
<div id="map-container">
<<MapRender>>
</div>
<div id="event-container">
<<RegionEvents>><<NpcPosition>><<MortalRealm>><<TurnsAge>><<MissionNotification>>
</div>
<<MainMissionStart>>
<div class="tab-nav">
<span data-nokeys="true"><<link "Status">><<goto "Status">><</link>></span>
<span data-nokeys="true"><<link "Skills">><<goto "Skills">><</link>></span>
<span data-nokeys="true"> <<link "Inventory">><<goto "Inventory">><</link>></span>
<span data-nokeys="true"><<link "Relations">><<goto "Relations">><</link>></span>
<span data-nokeys="true"> <<link "Breakthrough">><<goto "Breakthrough">><</link>></span>
<span data-nokeys="true"> <<link "Help">><<goto "Help">><</link>></span>
</div>
<</nobr>><<if $pe eq 0>>
<<link "Go back" $passage>><<set $pe to 0>><</link>>
You enter the bustling market square, where merchants hawk their wares and the air is thick with the scent of exotic spices and herbs. Colorful stalls line the streets, each offering unique items from across the realm.
<<link "Mysterious Pill Forge" "Market">><<set $pe to 1>><</link>>
<<link "Thunderclap Sword Forge" "Market">><<set $pe to 11>><</link>>
<<link "Bliss Furnace Pavilion" "Market">><<set $pe to 21>><</link>>
<<elseif $pe eq 1>>
<<nobr>>
<br>You approach the Azure Cauldron Pavilion, where a robed pill refiner tends bubbling cauldrons of spiritual elixirs. The air hums with pure qi and the scent of rare herbs.
<div style="margin:20px 0; padding:15px; background:rgba(30,60,100,0.5); border:2px solid #ffd700; border-radius:10px;">
<br><<link "Go back" $passage>><<set $pe to 0>><</link>>
<br><<link "Chat with the alchemist">>
<<set _talk to true>>
<<replace "#chat-output">>The alchemist leans closer with a sly smile and says: <span class="male1">"<<print $azureCauldronChat.random()>>"</span><</replace>><</link>>
<br><span id="chat-output"></span>
<br>
<br><<link "Browse pills" "Market">><<set $pe to 2>><</link>>
</div>
<</nobr>>
<<elseif $pe eq 2>>
<div class="merchant-header">
<h2>The Mysterious Pill Forge</h2>
<p>The air hums with alchemical qi as colorful elixirs glow faintly within jade bottles.</p>
</div>
<<link "Return to Market" "Market">><<set $pe to 0>><</link>>
You open your satchel to reveal your Spirit Stones: <strong><span class="gold-amount"><<print $gold>></span> Spirit Stones</strong>
<<nobr>>
<<if $purchase neq null>>
<p style="color: #4fc3f7; font-weight: bold; margin-top: 20px; text-align: center;">
<br>You have acquired <<print $purchase>>.
</p>
<<unset $purchase>>
<<unset $purchaseclass>>
<</if>>
<</nobr>>
<table class="merchant-table">
<thead>
<tr>
<th>Elixir Offerings</th>
<th style="width: 150px; text-align: center;">Price</th>
<th style="width: 100px; text-align: center;">Purchase</th>
</tr>
</thead>
<tbody>
<<for _i to 0; _i lt $mysteriouspillforgeInventory.length; _i++>>
<<set _item to $mysteriouspillforgeInventory[_i]>>
<tr>
<td>
<div class="item-name"><<print _i + 1>>. <<print _item.name>></div>
<div class="item-desc"><<print _item.description>></div>
</td>
<td style="text-align: center; vertical-align: middle;">
<div class="item-price"><<print _item.price>> Spirit Stones</div>
</td>
<td style="text-align: center; vertical-align: middle;">
<<if _item.price gt $gold>>
<span class="not-enough">Not enough gold</span>
<<else>>
<<capture _item>>
<<link "Buy" "Market">>
<<set _found to false>>
<<set _index to -1>>
<<for _j to 0; _j lt $playerpotioninventory.length; _j++>>
<<if $playerpotioninventory[_j].name === _item.name>>
<<set _found to true>>
<<set _index to _j>>
<<break>>
<</if>>
<</for>>
<<if _found>>
<<set $playerpotioninventory[_index].quantity += 1>>
<<else>>
<<set _newItem to clone(_item)>>
<<set _newItem.quantity to 1>>
<<set $playerpotioninventory.push(_newItem)>>
<</if>>
/* Deduct gold and show purchase message */
<<set $gold -= _item.price>>
<<set $purchase to _item.name>>
<<set $purchaseclass to _item.class>>
<</link>>
<</capture>>
<</if>>
</td>
</tr>
<</for>>
</tbody>
</table>
<<elseif $pe eq 11>>
<<nobr>>
You approach the Heavenly Edge Armory, where a stern forge master hammers spirit blades to razor perfection. The air crackles with fiery qi and the clash of enchanted steel
<div style="margin:20px 0; padding:15px; background:rgba(30,60,100,0.5); border:2px solid #ffd700; border-radius:10px;">
<br><<link "Go back" $passage>><<set $pe to 0>><</link>>
<br><<link "Chat with the forge master">>
<<set _talk to true>>
<<replace "#chat-output">>The alchemist leans closer with a sly smile and says: <span class="male1">"<<print $thunderClapChat.random()>>"</span><</replace>><</link>>
<br><span id="chat-output"></span>
<br>
<br><<link "Browse weapons" "Market">><<set $pe to 12>><</link>>
</div>
<</nobr>>
<<elseif $pe eq 12>>
<div class="merchant-header">
<h2>Thunderclap Sword Forge</h2>
</div>
<<link "Return to Market" "Market">><<set $pe to 0>><</link>>
You open your satchel to reveal your Spirit Stones: <strong><span class="gold-amount"><<print $gold>></span> Spirit Stones</strong>
<<nobr>>
<<if $purchase neq null>>
<p style="color: #4fc3f7; font-weight: bold; margin-top: 20px; text-align: center;">
<br>You have acquired <<print $purchase>>.
</p>
<<unset $purchase>>
<<unset $purchaseclass>>
<</if>>
<</nobr>>
<table class="merchant-table">
<thead>
<tr>
<th>Weapons Offerings</th>
<th style="width: 150px; text-align: center;">Price</th>
<th style="width: 100px; text-align: center;">Purchase</th>
</tr>
</thead>
<tbody>
<<for _i to 0; _i lt $thunderclapswordforgeInventory.length; _i++>>
<<set _item to $thunderclapswordforgeInventory[_i]>>
<tr>
<td>
<div class="item-name"><<print _i + 1>>. <<print _item.name>></div>
<div class="item-desc"><<print _item.description>></div>
</td>
<td style="text-align: center; vertical-align: middle;">
<div class="item-price"><<print _item.price>> Spirit Stones</div>
</td>
<td style="text-align: center; vertical-align: middle;">
<<if _item.price gt $gold>>
<span class="not-enough">Not enough gold</span>
<<else>>
<<capture _item>>
<<link "Buy" "Market">>
<<set _found to false>>
<<set _index to -1>>
<<for _j to 0; _j lt $weaponInventory.length; _j++>>
<<if $weaponInventory[_j].name === _item.name>>
<<set _found to true>>
<<set _index to _j>>
<<break>>
<</if>>
<</for>>
<<if _found>>
<<set $weaponInventory[_index].quantity += 1>>
<<else>>
<<set _newItem to clone(_item)>>
<<set _newItem.quantity to 1>>
<<set $weaponInventory.push(_newItem)>>
<</if>>
/* Deduct gold and show purchase message */
<<set $gold -= _item.price>>
<<set $purchase to _item.name>>
<<set $purchaseclass to _item.class>>
<</link>>
<</capture>>
<</if>>
</td>
</tr>
<</for>>
</tbody>
</table>
<<elseif $pe eq 21>>
<<nobr>>
<br>You approach the Bliss Furnace Pavilion, where an eccentric alchemist brews elixirs of passion and desire. The air shimmers with intoxicating fumes and whispers of hidden pleasures.
<div style="margin:20px 0; padding:15px; background:rgba(30,60,100,0.5); border:2px solid #ffd700; border-radius:10px;">
<br><<link "Go back" $passage>><<set $pe to 0>><</link>>
<br><<link "Chat with the alchemist">>
<<set _talk to true>>
<<replace "#chat-output">>The alchemist leans closer with a sly smile and says: <span class="male1">"<<print $blissFurnaceChat.random()>>"</span><</replace>><</link>>
<br><span id="chat-output"></span>
<br>
<br><<link "Browse elixirs" "Market">><<set $pe to 22>><</link>>
<br><<if $gold gte 250>><<link "Yin-Yang Harmony Massage" "Market">><<set $pe to 23>><<set $gold -= 250>><</link>><<else>>Not enough Spirit Stones for Massage <</if>>
<br><<link "Personalized Jade Artifact Fitting" "Market">><<set $pe to 28>><</link>>
</div>
<</nobr>>
<<elseif $pe eq 22>>
<div class="merchant-header">
<h2>Bliss Furnace Pavilion</h2>
</div>
<<nobr>>
<br><<link "Return to Market" "Market">><<set $pe to 0>><</link>>
<br>You open your satchel to reveal your Spirit Stones: <strong><span class="gold-amount"><<print $gold>></span> Spirit Stones</strong>
<<if $purchase neq null>>
<p style="color:#ff69b4; font-weight:bold; text-align:center; margin:20px 0;">
You have acquired <<print $purchase>>.
</p>
<<unset $purchase>>
<</if>>
<</nobr>>
<<nobr>>
<table class="merchant-table">
<thead>
<tr>
<th>Offering</th>
<th style="width:180px;">Description</th>
<th style="width:120px;">Price</th>
<th style="width:100px;">Purchase</th>
</tr>
</thead>
<tbody>
<<for _i to 0; _i lt $blissfurnacepavilionInventory.length; _i++>>
<<set _item to $blissfurnacepavilionInventory[_i]>>
<tr>
<td>
<div class="item-name"><<print _i + 1>>. <<print _item.name>></div>
<<if _item.lewd neq null and _item.lewd>>
<span style="color:#ff69b4; font-size:0.9em;">(Secret Refinement Tool)</span>
<</if>>
</td>
<td><div class="item-desc"><<print _item.description>></div></td>
<td style="text-align:center; vertical-align:middle;">
<span class="item-price"><<print _item.price>> Stones</span>
</td>
<td style="text-align:center; vertical-align:middle;">
<<if _item.price gt $gold>>
<span style="color:#ff4444;">Not enough</span>
<<else>>
<<link "Buy" "Market">>
<<set $gold -= _item.price>>
<<set $purchase to _item.name>>
/* Add to correct inventory */
<<if _item.class is "potion" or _item.class is "consumable">>
<!-- Potions/Consumables -->
<<set _found to false>>
<<for _j range $playerpotioninventory>>
<<if _j.name is _item.name>>
<<set _j.quantity += 1>>
<<set _found to true>>
<<break>>
<</if>>
<</for>>
<<if not _found>>
<<set _new to clone(_item)>>
<<set _new.quantity to 1>>
<<set $playerpotioninventory.push(_new)>>
<</if>>
<<else>>
<!-- Toys/Items (non-consumable) -->
<<set _found to false>>
<<for _j range $playeriteminventory>>
<<if _j.id is _item.id>>
<<set _found to true>>
<<break>>
<</if>>
<</for>>
<<if not _found>>
<<set $playeriteminventory.push(clone(_item))>>
<</if>>
<</if>>
<</link>>
<</if>>
</td>
</tr>
<</for>>
</tbody>
</table>
<</nobr>>
<<elseif $pe eq 23>>
<<set _meiLingPresent to random(100) gte 50>> /* 50% chance she's absent */
<p>You recline on a heated jade table as Phoenix Tears Oil warms your skin, unblocking meridians...</p>
<<if _meiLingPresent>>
<<goto "Market">><<set $pe to 24>>
<<else>>
<<goto "Market">><<set $pe to 25>>
<</if>>
<<elseif $pe eq 24>>
Mei Ling expertly massages your body, her hands skilled in the art of yin-yang harmony. You feel waves of pleasure and relaxation wash over you as she works her magic.
<<link "Finish the massage" "Market">><<set $pe to 0>><</link>>
<<elseif $pe eq 25>>
<<nobr>>
Lian Feng, a young alchemist , bows deeply: <span class="male1">"Mei Ling rests from qi deviation, honored guest. I shall serve with utmost care."</span>
<p>You lie face-down on the warm jade table, silk towel draped loosely over your hips. The chamber smells of sweet incense and heated oil. Lian Feng stands at your side, pouring Phoenix Tears Oil into his palms.</p>
<p><span class="male1">"Long day of cultivation?"</span> he asks, voice low and steady. <span class="male1">"Your shoulders are knotted tight. Just relax... I'll work it out."</span></p>
<p>His hands land firm on your upper back - strong, callused thumbs digging into tense muscles. The oil is hot, sinking deep. You let out a soft sigh without meaning to.</p>
<p>He pauses for a second. <span class="male1">"There... feel that? Qi starting to move already."</span></p>
<<linkreplace "Murmur 'That feels good'">>
<p><span class="player">"That feels good,"</span> you say softly.</p>
<p>He chuckles quietly. <span class="male1">"Glad to hear it. Let's keep the flow steady."</span></p>
<p>His hands stay focused - long strokes down your spine, pressing along arms and legs. No wandering. Just pure relief as blocked meridians open.</p>
<div class="success-alert">+50 EXP | Full Qi restored </div>
<<set $exp += 50>><<set $energy to $maxenergy>>
<br><<link "Thank him and leave" "Market">><<set $pe to 0>><</link>>
<br><<link "Stay quiet and breathe" "Market">><<set $pe to 26>><</link>><br>
<</linkreplace>>
<</nobr>>
<<elseif $pe eq 26>>
<<nobr>>
<p>You stay quiet, letting your breathing deepen. Lian Feng’s hands slow, becoming more deliberate. His palms slide lower, thumbs brushing the sides of your breasts with each pass.</p>
<p><span class="male1">"Skin like silk,"</span> he mutters, almost to himself. One hand drifts to your ribcage, fingers grazing the soft swell underneath.</p>
<p>Your breath catches - a tiny shiver runs through you. He feels it.</p>
<p><span class="male1">"Sensitive here, huh?"</span> His voice is rougher now, closer to your ear. <span class="male1">"The oil brings everything to the surface."</span></p>
<<set _massageChoice to null>> /* Temporary variable for this decision */
<div id="massage-choices">
<<if $corruption gte 10>>
<<link "Let him continue...">>
<<replace "#massage-choices">>
<p>His confidence grows. The towel slides lower as he works your hips - fingers slipping under the edge, kneading the top of your ass. A low groan escapes you.</p>
<p><span class="male1">"Fuck... you're soaked already,"</span> he whispers, surprised. His palm cups one cheek fully now, squeezing slow. The other hand glides up your side, thumb brushing your nipple as it hardens.</p>
<p><span class="male1">"Tell me to stop if you want,"</span> he says, voice thick, <span class="male1">"but your body's saying something else."</span></p>
<img src="images/Sex/massage.png" class=center width=600>
<p>Heat pools between your legs.</p>
<p><span class="male1">"Beautiful,"</span> he breathes. One hand spreads your thighs wide; the other traces your folds - finding you already wet.</p>
<div id="massage-choices1">
<<link "That's enough!">><<set $pe to 0>>
<<replace "#massage-choices1">>
<p>You grab his wrist. <span class="player">"That's enough."</span></p>
<p>He stops instantly, breathing hard. <span class="male1">"My apologies."</span> Session ends respectfully.</p>
<div class="success-alert">+70 EXP</div>
<<set $exp += 70>>
<<link "Leave">><<goto "Market">><<if $corruption lt 27>><<set $corruption += 1>><</if>><<set $sexFame += random(2,4)>><<set $pe to 0>><</link>>
<</replace>>
<</link>>
<<if $corruption gte 25>><<link "Let him continue" "Market">><<set $pe to 27>><</link>><</if>>
</div>
<</replace>>
<</link>>
<<link "Protest now">>
<<replace "#massage-choices">>
<p>You shift slightly. <span class="player">"Lian Feng... stick to the meridians."</span></p>
<p>He pulls back at once, clearing his throat. <span class="male1">"Right. My mistake."</span> Hands return to safe territory - firm, professional strokes only.</p>
<div class="success-alert">+65 EXP </div>
<<set $exp += 65>>
<<link "Finish up" "Market">><<set $pe to 0>><<if $corruption lt 30>><<set $corruption += 1>><</if>><<set $sexFame += random(2,4)>><</link>>
<</replace>>
<</link>>
<<else>>
<<replace "#massage-choices">>
<p>You tense and speak firmly. <span class="player">"Lian Feng... stick to the meridians."</span></p>
<p>He withdraws immediately. <span class="male1">"Of course. Forgive me."</span> The rest of the massage stays strictly professional.</p>
<div class="success-alert">+65 EXP</div>
<<set $exp += 65>>
<<link "Finish up" "Market">><<set $pe to 0>><<if $corruption lt 30>><<set $corruption += 1>><</if>><<set $sexFame += random(2,4)>><</link>>
<</replace>>
<</if>>
</div>
<</nobr>>
<<elseif $pe eq 27>>
<<nobr>>
<p>His fingers slide inside you - slow at first, then deeper, curling just right. You gasp as he adds a second, stretching you.</p>
<img src="images/Sex/massage1.png" class="nsfw-glow">
<p><span class="male1">"Fuck, you're tight,"</span> he groans. Thumb circles your clit while his fingers pump steadily. Your hips buck; wetness coats his hand.</p>
<p>He flips you back over, ass in the air. Strong hands grip your cheeks, spreading you open as three fingers thrust deep from behind.</p>
<img src="images/Sex/massage2.png" class="nsfw-glow">
<p>You moan into the table, pushing back against his hand. He growls, <span class="male1">"You want more, don't you?"</span></p>
<div id="massage-choices">
<<if $corruption gte 30>>
<<link "Let him continue...">>
<<replace "#massage-choices">>
<p>Lian Feng can't hold back anymore. He sheds his robe - cock thick and hard, dripping at the tip. He lines up behind you, rubbing against your soaked entrance.</p>
<p><span class="male1">"Need to be inside you,"</span> he says roughly, pushing in slow. You cry out as he stretches you completely.</p>
<img src="images/Sex/massage3.png" width="60%" class="nsfw-glow">
<p>He starts thrusting - deep, steady strokes that make the table creak. Hands grip your hips hard, pulling you back onto him with every slam.</p>
<p><span class="male1">"So fucking good,"</span> he groans. Pace turns brutal - skin slapping, oil flying. You push back desperately, taking him deeper.</p>
<p>Pleasure builds fast. You come hard, walls clenching around him. He follows with a roar, burying deep and filling you with hot pulses.</p>
<p>Qi explodes between you - pure yang flooding yin in perfect harmony.</p>
<div class="success-alert" style="color:#ff4500;">
+80 EXP
</div>
<<set $exp += 80>>
<<if $corruption lt 50>><<set $corruption += 2>><<set $sexFame += random(2,4)>><</if>>
<<link "Collapse spent">><<goto "Market">><<if $virginity eq 1>><<set $virginity = 0>><<set $virginityLost = "Masseur">><<set $sexFame += random(2,4)>><</if>><<set $pe to 0>><</link>>
<</replace>>
<</link>>
<</if>>
<<link "Protest now">>
<<replace "#massage-choices">>
<p>You shake your head. <span class="player">"Stop... please."</span></p>
<p>He pulls out slowly, breathing ragged. <span class="male1">"As you wish."</span> Massage ends here.</p>
<div class="success-alert">+65 EXP</div>
<<set $exp += 65>>
<<link "Leave flushed">><<goto "Market">><<set $pe to 0>><<set $sexFame += random(2,4)>><<if $corruption lt 37>><<set $corruption += 1>><</if>><</link>>
<</replace>>
<</link>>
</div>
<</nobr>>
<<elseif $pe eq 28>>
<<nobr>>
<<if $corruption lt 15>>
<p>The alchemist leads you to a silk-draped side chamber lined with polished jade artifacts of various shapes and sizes.</p>
<p><span class="male1">"These are personalized meridian probes,"</span> he explain calmly. <span class="male1">"Crafted to fit your body's unique qi flow. They help relieve stress, unblock stagnant meridians, and refine yin essence in private cultivation."</span></p>
<p><span class="male1">"Many disciples use them for solo refinement. Nothing shameful - merely a tool for progress."</span></p>
<p>You nod, understanding the purpose, but feel a faint warmth in your cheeks. The idea is... intriguing, yet you are not quite ready to indulge.</p>
<p><i>(Requires Corruption 15+ to proceed with fitting)</i></p>
<br><<link "Go back" "Market">><<set $pe to 0>><</link>>
<<else>>
<p>The alchemist guides you behind heavy silk curtains into a warmly lit fitting chamber. Dozens of jade artifacts gleam on velvet cushions - smooth rods, tapered plugs, beaded chains, all pulsing faintly with contained qi.</p>
<p><span class="male1">"Welcome to true personalization,"</span> he say with a knowing smile. <span class="male1">"We will measure your meridians and craft a probe perfectly suited to your body. It will become your most intimate cultivation tool."</span></p>
<p>You feel heat rising - not from embarrassment, but anticipation. Your corruption has awakened curiosity you can no longer deny.</p>
<<link "Return to Pavilion">><<goto "Market">><<set $pe to 0>><</link>>
<h3 style="color:#ff69b4; margin:30px 0 20px;">Choose Your Artifact Type</h3>
<<set _customfittingblissfurnaceinventory to []>>
<<set _customfittingblissfurnaceinventory.push($jadeprobe, $phoenixfeatherplug, $lotusbeads
)>>
<div style="display:grid; grid-template-columns:1fr 1fr; gap:25px; margin-bottom:30px;">
<<for _i to 0; _i lt _customfittingblissfurnaceinventory.length; _i++>>
<<set _item to _customfittingblissfurnaceinventory[_i]>>
<tr>
<td>
<div class="item-name"><<print _i + 1>>. <<print _item.name>></div>
<div class="item-desc"><<print _item.description>></div>
<span style="color:#ff1493; font-size:0.9em;">(Private Yin Refinement Tool)</span>
</td>
<td style="text-align:center;">
<<print 350>> Stones<br>
<span style="font-size:0.9em; color:#ff69b4;">+ Personal Fitting</span>
</td>
<td style="text-align:center;">
<<if $gold lt 350>>
<span style="color:#ff4444;">Not enough</span>
<<elseif $corruption lt 15>>
<span style="color:#ff69b4;">(Corruption 15+ required)</span>
<<else>>
<<capture _item>>
<<link "Purchase & Fit">>
<<set _found to false>>
<<set _index to -1>>
<<for _j to 0; _j lt $playeriteminventory.length; _j++>>
<<if $playeriteminventory[_j].name === _item.name>>
<<set _found to true>>
<<set _index to _j>>
<<break>>
<</if>>
<</for>>
<<if _found>>
<<set $playeriteminventory[_index].quantity += 1>>
<<else>>
<<set _newItem to clone(_item)>>
<<set _newItem.quantity to 1>>
<<set $playeriteminventory.push(_newItem)>>
<</if>>
/* Deduct gold and show purchase message */
<<set $gold -= 350>>
<<set $purchase to _item.name>>
<<set $purchaseclass to _item.class>>
<<goto "Market">><<set $pe to 29>>
<</link>>
<</capture>>
<</if>>
</td>
</tr>
<</for>>
<</if>>
<</nobr>>
<<elseif $pe eq 29>>
<<nobr>>
<p><span class="male1">"Now... let us ensure perfect fit."</span></p>
<p>The alchemist closes the silk curtain behind you, sealing the chamber in warm, dim light scented with aphrodisiac incense.</p>
<p><span class="male1">"For true personalization,"</span> he say in a low, professional tone, <span class="male1">"we must first measure your body's natural response. Lie back on the jade table and relax."</span></p>
<p>You recline as instructed. The cool stone against your bare back sends a shiver through you. The alchemist gently lifts your knees and spreads your legs wide, exposing you completely to their calm, practiced gaze.</p>
<img src="images/Sex/toyfitting.png" class="nsfw-glow">
<p>Strong hands hold your thighs open as they lean in close, studying every intimate detail with clinical focus that gradually turns heated.</p>
<p><span class="male1">"Beautiful structure,"</span> he murmur, voice dropping. <span class="male1">"Petals flushed and already glistening. Your yin gate responds eagerly to exposure."</span></p>
<p>A gloved finger traces your outer lips lightly, parting them to reveal the slick pink within. You bite your lip as cool air meets wet heat.</p>
<p><span class="male1">"Sensitive here,"</span> he note, brushing your swollen clit once - just enough to make your hips twitch. <span class="male1">"And here..."</span> Two fingers spread you wider, opening your entrance fully to inspection.</p>
<p>He press gently at your hole, testing resistance. <span class="male1">"Tight, yet yielding. Perfect depth for deep refinement. You will take a full probe easily."</span></p>
<p>Another slow circle around your clit, deliberate now. <span class="male1">"Natural lubrication abundant. Your body is ready for pleasure cultivation."</span></p>
<p>Finally, he withdraws, eyes dark with restrained hunger. <span class="male1">"Measurements complete. Your meridians sing with need."</span></p>
<<set $corruption += random(2,3)>>
<<set _lastToy to $purchase>> <!-- Uses the name from purchase -->
<<linkappend "The alchemist presents your custom <<print $purchase>>">>
- perfectly matched to your depth and girth preference.
<<if _lastToy eq "Jade Meridian Probe">>
<p><span class="male1">"Use it freely in private. It will bring powerful yin refinement... and pleasure."</span></p>
<<elseif _lastToy eq "Phoenix Feather Anal Plug">>
<p><span class="male1">"This one will awaken your rear meridians,"</span> he murmurs. <span class="male1">"Breathe slow and push back when you feel pressure."</span></p>
<p>You feel the cool tip press against your tight ring. A steady, gentle push follows - the jade slides in smoothly, stretching you open inch by inch until the widest part pops past the resistance and seats deep inside.</p>
<p>Warm yang fire instantly spreads through forbidden channels. The soft feathers brush your sensitive skin with every tiny movement, sending shivers up your spine.</p>
<p><span class="male1">"Perfect fit,"</span> he praises, giving the base a light tug that makes you gasp. <span class="male1">"Your body accepts it greedily."</span></p>
<<elseif _lastToy eq "Lotus Prayer Beads">>
<p>The alchemist lays out the string of graduated rose quartz beads, each one larger than the last, polished to a silky sheen.</p>
<p><span class="male1">"We insert them one by one,"</span> He explains softly. <span class="male1">"Feel each bead stretch and settle before the next."</span></p>
<p>Cool oil drips between your cheeks. The smallest bead presses in easily - then the next, larger one forces a soft moan from your lips as it stretches your ring wider.</p>
<p>One after another they disappear inside you, each pop sending a pulse of yin qi through your body. By the time the largest bead seats deep, you feel deliciously full, every slight shift tugging at sensitive nerves.</p>
<p>The alchemist gives the loop at the end a gentle pull - the beads shift inside, making your hips buck involuntarily.</p>
<p><span class="male1">"Exquisite response,"</span> he whispers. <span class="male1">"Your meridians are wide open now."</span></p>
<</if>>
<p>You acquired: _lastToy</p>
<<link "Return to Pavilion">><<goto "Market">><<set $pe to 0>><</link>>
<</linkappend>>
<</nobr>>
<<elseif $pe eq 30>>
<<set $corruption += random(2,3)>>
<<linkappend "The alchemist carefully coats the tapered jade plug.">>
<p><span class="male1">"This one will awaken your rear meridians,"</span> they murmur. <span class="male1">"Breathe slow and push back when you feel pressure."</span></p>
<p>You feel the cool tip press against your tight ring. A steady, gentle push follows - the jade slides in smoothly, stretching you open inch by inch until the widest part pops past the resistance and seats deep inside.</p>
<p>Warm yang fire instantly spreads through forbidden channels. The soft feathers brush your sensitive skin with every tiny movement, sending shivers up your spine.</p>
<p><span class="male1">"Perfect fit,"</span> they praise, giving the base a light tug that makes you gasp. <span class="male1">"Your body accepts it greedily."</span></p>
<p>You acquired: Phoenix Feather Anal Plug<br></p>
<<link "Return to Pavilion">><<goto "Market">><<set $pe to 0>><</link>>
<</linkappend>>
<<elseif $pe eq 31>>
<<set $corruption += random(2,3)>>
<<linkappend "The alchemist lays out the string of graduated rose quartz beads">>, each one larger than the last, polished to a silky sheen.
<p><span class="male1">"We insert them one by one,"</span> they explain softly. <span class="male1">"Feel each bead stretch and settle before the next."</span></p>
<p>Cool oil drips between your cheeks. The smallest bead presses in easily - then the next, larger one forces a soft moan from your lips as it stretches your ring wider.</p>
<p>One after another they disappear inside you, each pop sending a pulse of yin qi through your body. By the time the largest bead seats deep, you feel deliciously full, every slight shift tugging at sensitive nerves.</p>
<p>The alchemist gives the loop at the end a gentle pull - the beads shift inside, making your hips buck involuntarily.</p>
<p><span class="male1">"Exquisite response,"</span> they whisper. <span class="male1">"Your meridians are wide open now."</span></p>
<p>You acquired: Lotus Prayer Beads<br></p>
<<link "Return to Pavilion">><<goto "Market">><<set $pe to 0>><</link>>
<</linkappend>>
<</if>><<set $jadeprobe to {
id: "jadeprobe",
name: "Jade Meridian Probe",
description: "A thick, perfectly smooth jade dildo carved to stimulate deep internal meridians. Warms and pulses with channeled qi — designed for intense solo masturbation and yin essence refinement.",
price: 280,
sellprice: 70,
class: "toy",
lewd: true,
effect: "soloPenetration"
}>>
<<set $phoenixfeatherplug to {
id: "phoenixfeatherplug",
name: "Phoenix Feather Anal Plug",
description: "Tapered jade plug with soft phoenix feather tail. Inserted anally, it sends waves of warm yang fire through rear meridians - perfect for prolonged anal masturbation and forbidden pleasure cultivation.",
price: 320,
sellprice: 80,
class: "toy",
lewd: true,
effect: "analPlay"
}>>
<<set $lotusbeads to {
id: "lotusbeads",
name: "Lotus Prayer Beads",
description: "String of graduated rose quartz beads for progressive anal or vaginal insertion. Each bead vibrates with yin qi when pulled - ideal for extended masturbation sessions and meridian stretching.",
price: 350,
sellprice: 90,
class: "toy",
lewd: true,
effect: "beadInsertion"
}>>
<<set $merchantInventory to []>>
<<set $mysteriouspillforgeInventory to []>>
<<set $thunderclapswordforgeInventory to []>>
<<set $blissfurnacepavilionInventory to []>>
<<set $mysteriouspillforgeInventory.push($strengthboostpotion1)>>
<<set $thunderclapswordforgeInventory.push($crimsonlotussword, $jadewhip, $phoenixfan
)>>
<<set $blissfurnacepavilionInventory.push($corruptionelixir, $succubusbreath, $forbiddenyangseed
)>><<set _currentRankIndex = $sectRanks.indexOf($CurrentPcSectRank)>>\
\
<<if !$SectSideMissions or $SectSideMissions.length == 0>>
<<refreshMissions>>
<</if>>\
\
<<set _availableMissions = $SectSideMissions.filter(m => {
if (!m.requiredRank) {
return true;
}
return $sectRanks.indexOf(m.requiredRank) <= _currentRankIndex;
})>>\
\
<table class="mission-table">
<tr>
<th>Mission</th>
<th>Description</th>
<th>Reward</th>
<th>Action</th>
</tr>
<<for _mission range _availableMissions>>
<tr>
<td><<print _mission.name>></td>
<td><<print _mission.description>></td>
<td><<print _mission.reward>> contribution points</td>
<td>
<<if $SideMissionStatus is null>>\
<<capture _mission>>\
<<link "Accept" "Mission Hall|Stage 1">><<set $activeSideMission to _mission>><<set $SideMissionStatus to "accepted">><<set $MissionType to "sect">><<set $activeSideMission.missionCordX to $playerX>>\
<<set $activeSideMission.missionCordY to $playerY>><<replace "#missionlog">>Accepted: <<= _mission.name>><</replace>>\
<</link>>\
<</capture>>\
<</if>>\
</td>\
</tr>\
<</for>>\
</table>\
\
<div id="missionlog"></div>\
<<if $activeSideMission neq null>>
Your current mission: <<= $activeSideMission.name >>!
Do you want to abandon your mission?
<<link "Yes" "Mission Hall|Stage 1">>
<<set $activeSideMission to null>>
<<set $SideMissionStatus to null>>
<</link>>\
<</if>>\
\
<<link "⟳ Refresh missions">><<refreshMissions>><<goto "Mission Hall|Stage 1">><</link>>
<<link "Go back" $passage>>
<</link>><<if $pe eq 0>>
You are fighting $currentEnemy.fullname !
<<EnemyImage $currentEnemy.enemyregion $currentEnemy.enemyimage 300>><</EnemyImage>>
<b>General Actions</b>:
<<link "Attack" "MissionBattle1">>
<<set $pe to 1>>
<<set $playeraction = "attack">>
<</link>>
<table class="abilities-table">\
<td>\
<b>Abilities</b>:
<<for _i to 0; _i lt $skillInventory.length; _i++>>\
<<if ($skillInventory[_i].category eq "attack" or $skillInventory[_i].category eq "special") and $skillInventory[_i].isEquipped eq "true">>
<<print $skillInventory[_i].name>> (Energy cost: $skillInventory[_i].energy )\
<<capture _i>>\
<<if $energy lt $skillInventory[_i].energy>><i>Not enough energy</i>
<<else>> <<link "Use" "MissionBattle1">>
<<set $pe = 1>><<set $playeraction = "ability">> <<set $ability = $skillInventory[_i].widgetname>> <<set $abilityenergy = $skillInventory[_i].energy>><<set $energy -= $abilityenergy>> <<set $abilitylevel = $skillInventory[_i].level>> <</link>> <</if>>
<</capture>>\
<</if>>
<</for>>\
</td>\
</table>
<<if $activePassiveSkill != "">>
<<Ability $activePassiveWidget>><</Ability>>
<</if>>
<<EnemyBattleTable>>
<<elseif $pe eq 1>>
<<if $playeraction eq "attack">>You attempt to hit the $currentEnemy.fullname !
<<PlayerAttackAttempt>>
<<if $playeraction = "attack success">>
<<PlayerAttackDamage>>
<<elseif $playeraction eq "attack failure">>
You missed your attack!
<</if>><</if>>
<<EnemyStun>>
<<if $enemyaction eq "attack">>The $currentEnemy.fullname attacks you!
<<EnemyAttackAttempt>>
<<if $enemyaction = "attack success">>
<<EnemyAttackDamage>>
<<elseif $enemyaction eq "attack failure">>
The $currentEnemy.fullname missed their attack!
<</if>><</if>>
<<if $playeraction eq "ability">>
<<Ability $ability>><</Ability>><</if>>
<<if $currentEnemy.NPCcurrenthealth lte 0>> <<link "The enemy is slain! Victory!" $returnpassage>><<set $pe = $nextPe>><</link>>
<<elseif $health lte 0>><<link "You've lost!" $returnpassage>> <<set $pe to $nextPe += 1>> <</link>>
<<else>><<link "Continue battle" $passage>><<set $pe = 0>> <</link>>
<</if>>
<</if>><<widget "PatrolPerimeter01">>
<<if $pe eq 0>>
You arrive at the eastern gate just as dusk cloaks the sect in fading twilight. A pair of lanterns sway gently at the entrance, and a small patrol team awaits-swords at their hips, eyes sharp.
You're assigned to a route along the outer spiritual barrier. It’s quiet… maybe too quiet.
<<CreateNPC_Region1>><<set $juniorNPC to clone(_npc)>>
<<set _roll to random(1,5)>>
<<if _roll gte 2>>
As you near a bend in the forest path, something catches your eye. You notice fresh claw marks gouged into a tree trunk near the barrier. Whatever made them had strength - and didn’t belong near the sect.
<<if _npc.gender eq "female">><span class="female">“Senior Sister… are those demonic beast marks?”</span> the _npc.fullname asks, glancing around nervously.<<else>><span class="male1">“Senior Sister… are those demonic beast marks?”</span> the _npc.fullname asks, glancing around nervously.<</if>>
You can choose to:
You kneel and inspect the grooves. They're fresh-no older than a few hours. Blood specks darken the roots nearby.
<div id="choice">
<<link "Track the marks deeper into the woods">>
<<replace "#choice">>
You and your partner draw your weapons and begin following the faint trail of blood. The forest grows darker, qi in the air distorted.
Suddenly, a low growl echoes ahead. A <b>Shadowtail Beast</b> emerges-sleek, dark-furred, its eyes glowing violet.
<<ShadowtailBeast>>
<<link "To battle!" "MissionBattle1">><<set $passage to "MissionBattle1">><<set $returnpassage to "MissionWidgets">><<set $pe to 0>><<BeforeBattle>><<set $nextPe to 4>><</link>>
<</replace>>
<</link>>
<<link "Return and report">>
<<replace "#choice">>
You mark the tree with a talisman and hurry back to report.
The sect elders nod approvingly.
<span class="male1">“Good instincts. Better to alert us than to act blindly.”</span>
<<MissionFinish>>
<</replace>>
<</link>>
<<link "Set up an ambush">>
<<replace "#choice">>
You and your junior lie in wait near the tree, using a minor qi concealment technique. Hours pass. Finally, the beast returns - sniffing near the blood trail.
With perfect timing, you and the junior leap from the shadows and strike.
<<MissionFinish>>
<</replace>>
<</link>>
</div>
<<elseif $pe eq 1>>
xianxia
<<else>>
One of the junior disciples paired with you is a known flirt. As you patrol the bamboo-lined path,<<if _npc.gender eq "female">>she<<else>>he<</if>> walks a little too close, brushing against your shoulder now and then.
<<if _npc.gender eq "female">><span class="female">“Cold night, isn’t it?” she says, voice low. <span class="female">“We could... keep each other warm while we watch the perimeter. I wouldn’t mind sharing body heat with a senior like you…”</span><<else>><span class="male1">“Cold night, isn’t it?” he says, voice low. <span class="male1">“We could... keep each other warm while we watch the perimeter. I wouldn’t mind sharing body heat with a senior like you…”</span><</if>>
<div id="choice">
<<if $corruption gt 25>><<link "Playfully flirt back">>
<<replace "#choice">>
<span class="player">“Only if you’re brave enough to keep up with a senior sister…”</span>
He laughs softly, the sound warm and confident.
<span class="male1">“I like my odds. I’m good with my hands, after all-whether sword or… other tools.”</span>
You pause beside a tree, half-obscured by tall reeds. The sect is far behind, the perimeter ward humming faintly in the distance. No one else is around.
His hand brushes your waist lightly-waiting for you to stop him. When you don’t, his fingers slide more boldly, slipping beneath the edge of your outer robe.
<span class="male1">“May I?”</span> he whispers.
You lean back against the tree and give him a subtle nod.
He presses close, hands wandering over your body with growing confidence. His palm cups your breast through your robes, thumb flicking your nipple until it hardens beneath the fabric.
<span class="male1">“So soft… Cultivation hasn’t hardened everything, huh?”</span>
His body stays close, heat pressing against you as one hand caresses the side of your thigh, slipping higher-so close, yet not quite where you ache. His fingers toy with the edge of your undergarments, knuckles grazing tender flesh without fully touching - close enough to tease, not enough to satisfy.
<span class="male1">“You're already warm here,”</span> he murmurs, lips grazing your ear. <span class="male1">“Is this from the walk… or from me?”</span>
His fingertips finally brush your slit, slow and featherlight, just enough to make your hips twitch. He chuckles at your reaction, teasing you through the thin fabric with maddening patience.
<<set _img to ["juniorTease","juniorTease1"].random()>>
<img @src="'images/Sex/' + _img + '.jpeg'" width=600>
<<if $juniorNPC.internalTrait eq "Wicked" or $juniorNPC.internalTrait eq "Evil">>
He pauses, letting his hand linger just shy of your clit.
<span class="male1">“Mmm. You want it, don’t you?”</span> His voice is almost cruel in its amusement. <span class="male1">“Say it. Beg a little for your junior’s touch.”</span>
<<link "Whimper and beg him" $missionpassage>><<set $pe to 1>><</link>>
<<link "Smirk and grab his wrist" $missionpassage>><<set $pe to 2>><</link>>
<<else>>
He strokes you again, this time a little firmer, lips brushing your neck as he mutters, <span class="male1">“So sensitive… I wonder how much more you’ll take before you </span><<link "lose control." $missionpassage>><<set $pe to 3>><</link>>”
<</if>>
<</replace>>
<</link>><</if>>
<<link "Shut him down with icy elegance">>
<<replace "#choice">>
He backs off but watches you all patrol longingly.
<<MissionFinish>>
<</replace>>
<</link>>
<<link "Ignore him">>
<<replace "#choice">>
He keeps up the act but grows more cautious.
<<MissionFinish>>
<</replace>>
<</link>>
</div>
<</if>>
<<elseif $pe eq 1>>
<<PatrolPerimeter01Submissive>>
<<elseif $pe eq 2>>
<<PatrolPerimeter01Dominant>>
<<elseif $pe eq 3>>
<<PatrolPerimeter01Neutral>>
<<elseif $pe eq 4>>
After killing Shadowtail Beast and returning to the sect, you’re commended for your vigilance.
<<set $passage to "Map|Region1">>
<<MissionFinish>>
<</if>>
<</widget>>
<!--__________________________________________________________________________________________
_________________________ALCHEMY ASSIST MISSION____________________________________
__________________________________________________________________________________________-->
<<widget "AssistAlchemy01">>
<<nobr>>
<<set _roll to random(1,5)>>
<<if _roll eq 1>>
While scrubbing a cauldron, one unexpectedly lets out a puff of black smoke, covering your face in soot. The alchemist waves it off, mumbling: “Minor spiritual backfire…”
You reek of smoke and pride.
<<MissionFinish>>
<<elseif _roll eq 2>>
You misplaced Frost Lotus Root into the Yang Flame Drawer, causing the heat to spike wildly. The elder alchemist spent ten minutes shouting before calming down.
<<MissionFinish>>Fame may have slipped… like your judgment.
<<elseif _roll eq 3>>
After grinding herbs for hours, your hands and sleeves are soaked in floral spice. You’re warned the scent may cling for days.
<<MissionFinish>> You smell like alchemy - and maybe aphrodisiac.
<<elseif _roll eq 4>>
A panicked apprentice spills a yellow tonic down your robe. It clings unpleasantly, and you're told it’s “only mildly sticky.”
<<MissionFinish>> Sticky, damp, and extremely done with today.
<<elseif _roll eq 5>>
A pinkish cloud rises from the spilled powder - and you inhale without thinking.
The scent hits you fast: warm, heady, almost sweet. Then… heat.
It crawls down your throat, pools low in your belly, and spreads like fire.
Your skin prickles, your thighs press together instinctively.
A blush creeps up your face as your breathing grows shallow. Youxxx glance around - no one seems to have noticed yet.
<img src="images/Sex/aphrodisiac.jpeg" width=600>
Your nipples tighten beneath your robes. You feel wetness gathering between your legs, slick and unrelenting.
The urge to rub your thighs together grows maddening.
You clutch the edge of the table, trying to steady yourself.
<<MissionFinish>> If anyone noticed, they didn’t say a word… yet.
<</if>>
<</nobr>>
<</widget>>
<!--__________________________________________________________________________________________
_________________________CLEAN COURTYARD MISSION_________________________________
__________________________________________________________________________________________-->
<<widget "CleanCourtyard01">>
<<CreateNPC_Region1>>
You begin sweeping the old courtyard. Dust rises in clouds, and the scent of wet moss clings to the air.
<<set _chance = random(1,100)>>
<<if $CurrentPcSectRank eq "Initiate">>
You notice another disciple leaning against a pillar. He eyes you without much interest.
<<if _npc.internalTrait eq "Kind">>
<<if _npc.gender eq "male">>
<span class="male1">"New here?"</span> he asks. <span class="male1">"If you need help with those weeds, just say so."</span>
<<else>>
<span class="female">"New here?"</span> she asks. <span class="female">"If you need help with those weeds, just say so."</span>
<</if>>
<<elseif _npc.externalTrait eq "Power-hungry">>
<<if _npc.gender eq "male">>
He scoffs. <span class="male1">"Menial labor suits you. Maybe you’ll learn your place."</span>
<<else>>
She scoffs. <span class="female">"Menial labor suits you. Maybe you’ll learn your place."</span>
<</if>>
<<elseif _npc.externalTrait eq "Romantic">>
<<if _chance gte 92>>
<<if _npc.gender eq "male">>
He smirks playfully. <span class="male1">"You know, sweat suits you. Maybe I’ll stick around and watch..."</span>
<<else>>
She smirks playfully. <span class="female">"You know, sweat suits you. Maybe I’ll stick around and watch..."</span>
<</if>>
<<set _npc.npcdepravity += 10>>
<</if>>
<</if>>
<<elseif $CurrentPcSectRank eq "Core Disciple" or $CurrentPcSectRank eq "True Disciple">>>
You begin sweeping when a junior disciple arrives, carrying a basket of herbs. Upon seeing you, their eyes widen.
<<if _npc.internalTrait eq "Selfish">>>
<<if _npc.gender eq "male">>
He frowns. <span class="male1">"Senior? Cleaning? Don’t you have... people for that?"</span>
<<else>>
She frowns. <span class="female">"Senior? Cleaning? Don’t you have... people for that?"</span>
<</if>>
<<elseif _npc.externalTrait eq "Vengeful">>>
<<if _npc.gender eq "male">>
He eyes you warily. <span class="male1">"I haven’t forgotten what your sect brother did to mine. Just saying."</span>
<<else>>
She eyes you warily. <span class="female">"I haven’t forgotten what your sect sister did to mine. Just saying."</span>
<</if>>
<<elseif _npc.externalTrait eq "Romantic">>>
<<if _chance gte 92>>
<<if _npc.gender eq "male">>
The disciple watches you for a while. <span class="male1">"Such elegance, even while sweeping... makes it hard to focus."</span>
<<else>>
The disciple watches you for a while. <span class="female">"Such elegance, even while sweeping... makes it hard to focus."</span>
<</if>>
<<set _npc.npcdepravity += 10>>
<</if>>
<<elseif _npc.internalTrait eq "Kind">>>
<<if _npc.gender eq "male">>
He rushes to help. <span class="male1">"Let me assist, senior! It’s the least I can do."</span>
<<else>>
She rushes to help. <span class="female">"Let me assist, senior! It’s the least I can do."</span>
<</if>>
<</if>>
<</if>>
<<MissionFinish>>
<</widget>>
<!--__________________________________________________________________________________________
_________________________JUNIOR SPAR __________________________________________________
__________________________________________________________________________________________-->
<<widget "JuniorSpar">>
<<if $pe eq 0>><<set $sparringRound = 1>><<set $playerWins = 0>><<set $juniorWins = 0>><<set _juniorWants = either("touch your thigh", "rest his hand on your chest", "feel your ass", "see your panties")>><<CreateNPC_Region1>><<set $juniorNPC to clone(_npc)>> <<set _roll to random(0,100)>>
<<if _roll lte 85>>
You enter the courtyard. _npc.fullname grins.
<span class="male1"> "Let’s make it interesting. Wanna bet on it?"</span>
<span class="player">"What kind of bet?"</span>He smirks, clearly testing your limits.
<span class="male1">"How about this – if I win... I get to _juniorWants?"</span>
<<if $corruption gt 35>><<link "Raise the stakes" $missionpassage>><<set $pe to 1>><</link>><</if>>
<<if $corruption gt 20>><<link "Accept the bet" $missionpassage>><<set $sparBetStake to _juniorWants>><<set $pe to 3>><</link>><</if>>
<<link "Refuse" $missionpassage>><<set $sparBetStake to "none">><<set $pe to 3>><</link>>
<<else>> <<goto $missionpassage>><<set $pe to 3>><</if>>
<<elseif $pe eq 1>>
<span class="player">"Alright – but if I win, I want..."</span>
<<set _playerRaiseOptions = ["250 spirit stones", "a kiss", "you to strip shirtless"]>>
<<for _idx, _opt range _playerRaiseOptions>>
<<link _opt $missionpassage>><<set $playerBetDemand = _opt>><<set $pe to 2>><</link>>
<</for>>
<<elseif $pe eq 2>>
He whistles softly.
<span class="male1">"Bold of you."</span>
<<if $playerBetDemand eq "you to strip shirtless" or $playerBetDemand eq "a kiss">>
<<if $juniorNPC.depravity gt 30>>
<span class="male1">"Then if I win... you let me press you down for a moment."</span>
<<link "Deal" $missionpassage>><<set $sparBetStake = "press">><<set $pe to 3>><</link>>
<<link "Too much – nevermind" $missionpassage>><<set $sparBetStake to "none">><<set $pe to 3>><</link>><<set $juniorEscalate = true>>
<<else>>
<span class="male1">"That's actually too much. Let's stick to regular spar."</span>
<<link "Go to regular spar!" $missionpassage>><<set $pe to 3>><<set $sparBetStake to "none">><</link>><</if>>
<</if>>
<<elseif $pe eq 3>>
Countdown: <span id="countdown">5</span> seconds remaining!
<<silently>>
<<timed 1s>><<replace "#countdown">>4<</replace>>
<<next>><<replace "#countdown">>3<</replace>>
<<next>><<replace "#countdown">>2<</replace>>
<<next>><<replace "#countdown">>1<</replace>>
<</timed>>
<</silently>>
Round <<print $sparringRound>>
$juniorNPC.fullname circles you and makes a move...
<<set $juniorMove = either("strike", "block", "feint")>>
He prepares to $juniorMove!
Choose your response quickly!
<<link "Strike">><<set $playerMove to "strike">><<goto $missionpassage>><<set $pe to 4>><</link>>
<<link "Block">><<set $playerMove to "block">><<goto $missionpassage>><<set $pe to 4>><</link>>
<<link "Feint">><<set $playerMove to "feint">><<goto $missionpassage>><<set $pe to 4>><</link>>
<<timed 5s>>
<<set $pe to 4>>
<<set $playerMove to "none">>
<<goto $missionpassage>>
<</timed>>
<<elseif $pe eq 4>>
<<if $playerMove eq $juniorMove>>
It’s a tie! Neither of you land a hit.
<<elseif ($playerMove eq "strike" and $juniorMove eq "feint") or
($playerMove eq "block" and $juniorMove eq "strike") or
($playerMove eq "feint" and $juniorMove eq "block")>>
<<set _chance to random(0,100)>>
<<if _chance lte 10>>
<img src="images/Story/pinfall1.png" class=center width=600>
With a sharp twist, you sweep his leg and send him crashing to the ground. But your own momentum carries you forward-and you land squarely atop him.
His breath catches as your thighs straddle his hips, your hands pinning his wrists to the ground.
For a second, neither of you moves. His eyes flick down, taking in the position… the way your chest presses close… the heat of your body over his.
<span class="male1"> “W-wow… are you sure this was sparring, Senior Sister?”</span> he mutters, voice tight.
You can feel him stiffen under you - and not just from the surprise.
<</if>>
You win this round!
<<set $playerWins += 1>>
<<else>>
<<set _roll to random(0,100)>>
<<if _roll lte 10>>
<img src="images/Story/pinfall.png" class=center width=600>
You stumble from his final strike-and before you can recover, he lunges, tackling you to the ground in a clean, controlled pin.
His body presses down over yours, his breath brushing your cheek. One of his knees settles between your thighs, his hand braced right beside your head.
<span class="male1">“Looks like I win… and this view’s part of the reward?”</span> he teases, eyes flicking down to your lips, your chest, then quickly away.
<</if>>
$juniorNPC.fullname wins this round!
<<set $juniorWins += 1>>
<</if>>
<<if $playerWins gte 3>>
You’ve bested $juniorNPC.fullname
You both collapse.
<<MissionFinish>>
<<if $sparBetStake eq "none">>
He sighs and brushes your leg. <span class="male1">"A deal’s a deal."</span>
<</if>>
<<elseif $juniorWins gte 3>>
<<if $sparBetStake eq "rest his hand on your chest">>
He leans in, smirking.
<<set _roll to random(1,3)>><<if _roll eq 1>>
<span class="male1"> “You promised to be good, didn’t you?”</span>
Without waiting for permission, he places his palm directly on your chest, fingers spreading over the swell of your breast through your inner robe.
<img src="images/Sex/juniorBetTits.jpeg" width=600>
<span class="male1"> “So warm... Are all cultivators this soft under their armor?”</span>
You stiffen, heat blooming in your cheeks - but he doesn’t press harder, only lingers there, smug and patient.
<<if $corruption lt 16>><<set $corruption +=1>><</if>>
<<elseif _roll eq 2>>
<span class="male1">“Let me see, just a little,”</span>
He says, not even pretending to hide his hunger.
With practiced mischief, he slips his fingers under your inner robe, tugging down just enough to expose one bare breast. The cool air kisses your skin - then his hand follows.
<img src="images/Sex/juniorBetBareTit.jpeg" width=600>
He cups you boldly, thumbing your nipple while watching your face.
<span class="male1">“Senior Sister… you’re even more beautiful than I imagined.”</span>
Your heart pounds. You could stop him
<<if $corruption lt 16>><<set $corruption +=1>><</if>>
<<elseif _roll eq 3>>
<span class="male1"> “I won, didn’t I? I want the full view.”</span>
He doesn’t wait - both hands slide under your robes, and with a swift pull, your top falls open. Your breasts bounce free, and his eyes gleam.
<<set _img to ["juniorBetBareTits","juniorBetBareTits1","juniorBetBareTits2","juniorBetBareTits3"].random()>>
<img @src="'images/Sex/' + _img + '.jpeg'" width=600>
<span class="male1">“Perfect,”</span>
he murmurs, hands claiming both with greedy confidence. He squeezes, thumbs brushing over your nipples as if testing their sensitivity.
<span class="male1">“You can hit me later,”</span>
he teases.
<span class="male1">“But let me enjoy this for now…”</span>
The humiliation burns... but so does something else.
<<if $corruption lt 16>><<set $corruption +=1>><</if>>
<</if>>
<<elseif $sparBetStake eq "feel your ass">>
As you try to stand, he steps behind you and traps you gently against him.
His hand slides down your back and settles firmly on your ass, fingers kneading the flesh through your robes.
<img src="images/Sex/juniorBetAss.jpeg" width=600>
<span class="male1">“Soft and round,”</span>
he murmurs, giving a slow, deliberate squeeze.
<span class="male1"> “I’d say you’ve got quite the advantage here after all.”</span>
You flush, struggling to maintain your composure under his bold touch.
<<if $corruption lt 16>><<set $corruption +=1>><</if>>
<<elseif $sparBetStake eq "see your panties">>
<<set _roll to random(1,2)>>
<<if _roll eq 1>>
Before you can react, his hands are at your waist, yanking your robe up and over your hips in one swift movement.
Your panties are instantly revealed, the pale fabric clinging to your skin.
His eyes gleam with triumph as he leans closer.
<img src="images/Sex/juniorBetPanties.jpeg" width=600>
<span class="male1">“White… pure and innocent, huh? I didn’t think you’d hide something so sweet under all that armor.”</span>
His fingers twitch as if eager to explore more - but for now, he just watches, savoring the moment.
<<if $corruption lt 16>><<set $corruption +=1>><</if>>
<<else>>
<span class="male1">“Lift your robe,”</span>
he says, voice low and daring.
<span class="male1"> “I want to see.”</span>
Your glare only amuses him.
<<set _img to ["juniorBetPanties1", "juniorBetPanties2"].random()>>
<img @src="'images/Sex/' + _img + '.jpeg'" width=600>
<span class="male1">“A deal’s a deal, Senior Sister.”</span>
Reluctantly - or maybe with just a hint of curiosity - you raise the hem of your outer robe. His eyes instantly drop, widening when he sees your panties.
<span class="male1">“White, huh? Pure and pretty… just like you pretend to be.”</span>
His fingers almost brush your thigh again. <span class="male1">“Next time I win… you lose these too.”</span>
<<if $corruption lt 16>><<set $corruption +=1>><</if>>
<</if>>
<<elseif $sparBetStake eq "touch your thigh">>
He grins victoriously, stepping closer before you can protest.
<span class="male1">"A deal’s a deal, Senior Sister."</span>
His hand hovers for a heartbeat, then descends-warm fingers pressing lightly against your outer thigh.
The contact is casual at first, almost innocent… until his thumb begins tracing small, slow circles just beneath the hem of your robe.
<span class="male1">"You’re trembling,"</span> he teases, voice low and amused.
The smugness in his eyes makes it worse-he knows exactly what he’s doing, testing how far you’ll let him go.
You could pull away, but doing so would only prove how much his little victory unsettles you.
So you stand your ground, heat rising to your face as his hand lingers a second longer than necessary before finally withdrawing.
<span class="male1">"Soft,"</span> he murmurs with a smirk. <span class="male1">"I’ll remember that for next time."</span>
<<if $corruption lt 16>><<set $corruption +=1>><</if>>
<<elseif $sparBetStake eq "none">>
You both collapse, laughing. "Call it a draw?"
<</if>>
<<MissionFinish>>
<<else>>
<<set $sparringRound += 1>>
<<link "Next round!">><<goto $missionpassage>><<set $pe to 3>><</link>>
<</if>>
<</if>>
<</widget>>
<!-- __________________________________________________________________________________________
_________________________DELIVER SUPPLIES __________________________________________________
__________________________________________________________________________________________-->
<<widget "DeliverSupplies01">>
The box on your shoulder is heavier than it looks. Bottles of spirit water clink together with every step, and the scent of herbal salve clings to your robes.
The outer quarters lie far beyond the inner courtyard-humble huts built beneath the shade of ancient trees. Most who live there are injured, overworked, or too weak to progress.
As you make your rounds, a few disciples nod in gratitude. One thanks you with a crooked smile; another refuses to meet your eyes, ashamed of their status.
But at the final door, you hear muffled weeping inside. A disciple lies feverish and delirious, medicine untouched on the table beside them.
<<MissionFinish>>
<</widget>><<nobr>>
<<set $missionpassage to passage()>>
<!--Rogue Cultivator-->
<<if $activeSideMission.id eq "killRogueCultivator01">>
<<if $pe eq 0>>
The moment you step into the clearing, the atmosphere thickens with killing intent. A faint metallic scent lingers in the air—blood, fresh and unclean.
In the distance, a lone figure stands atop a jagged stone. His robes are tattered, eyes wild with madness. Blackened qi coils around him like serpents, writhing with instability.
His cultivation has clearly deviated from the righteous path. He has become a danger not only to others—but to himself.
As his gaze locks onto yours, a wicked grin spreads across his face.
<<CreateNPC_Region1>>
<<BeforeBattle>>
<<link "To battle!" "MissionBattle1">><<set $passage to "MissionBattle1">><<set $pe to 0>><<set $nextPe to 1>><</link>>
<<elseif $pe eq 1>>
The rogue cultivator staggers back, coughing blood. His corrupted qi twists violently before dispersing into nothingness.
He falls to his knees, eyes briefly clearing of madness. "Perhaps... I was not entirely wrong..." he whispers before collapsing.
You've finished mission!
<<set $passage to "Map|Region1">>
<<MissionFinish>>
<<elseif $pe eq 2>>
The rogue cultivator’s laughter echoes as your vision fades. His strikes were reckless but devastating.
When you awaken, you lie wounded at the edge of the forest, talismans burnt and pride fractured.
The threat still roams..
You have retreated, badly wounded.
<<set $passage to "Map|Region1">>
<<MissionFailed>>
<</if>>
<</if>>
<!--Find Herb-->
<<if $activeSideMission.id eq "findHerb01">>
<<if $pe eq 0>>
The mist clings to your robes as you step into a hidden valley where moonlight filters through jagged cliffs. The air smells faintly of dew and decay.
Somewhere in this eerie stillness lies the <b>Moonshade Lily</b>, a herb that only blooms when starlight aligns with certain celestial veins in the earth.
A faint glow dances between the rocks—just within reach.
Yet something breathes, slow and guttural, in the darkness behind you...
<<link "Reach for the flower carefully" $missionpassage>><<set $pe to 1>><<set $herbApproach to "stealth">><</link>>
<<link "Charge forward and grab it" $missionpassage>><<set $pe to 1>><<set $herbApproach to "brute">><</link>>
<<elseif $pe eq 1>>
<<if $herbApproach eq "stealth">>
<<if $agility >= 6>>
Your movements are fluid as drifting mist.
Whatever creature guarded this place never senses you. You pluck the <b>Moonshade Lily</b>, its petals cool and luminous against your palm.
You leave without a sound — and with your life.
<<MissionFinish>>
<<else>>
A dry twig snaps beneath your foot. The growl comes instantly — guttural, furious.
You snatch the herb and roll away as claws slash your arm.
Blood drips, but so does victory.
Mission complete, though your wound burns faintly with something venomous...
<<set $health to $health - $health*0.1>>
<<MissionFinish>>
<</if>>
<<elseif $herbApproach eq "brute">>
<<if $strength >= 10>>
With a shout, you surge forward, qi blazing.
A monstrous silhouette lunges from the dark — too slow.
One strike of your fist sends it crashing into the rocks. You seize the lily before the dust settles.
<<set $righteousreputation +=1>>
<<MissionFinish>>
<<else>>
The beast is faster than you expected. Its claws tear through your robe as you wrench the flower free.
You stumble out, breath ragged, the <b>Moonshade Lily</b> clutched in bloodied fingers.
The valley claims its toll.
<<set $health to $health - $health*0.2>>
<<MissionFailed>>
<</if>>
<</if>>
<</if>>
<</if>>
<!--Scrool Recovery-->
<<if $activeSideMission.id eq "recoverScroll01">>
<<if $pe eq 0>>
Mist hangs over the quiet riverbank. The water glows faintly blue beneath the moonlight.
Half-submerged among the reeds is a <b>jade scroll case</b>, pulsing faintly with sealing qi.
But something stirs below the surface — the ripples too deliberate, too alive.
<<link "Use a pole to fish it out" $missionpassage>><<set $pe = 1>><<set $scrollMethod = "tool">><</link>>
<<link "Wade into the water to retrieve it directly" $missionpassage>><<set $pe = 1>><<set $scrollMethod = "direct">><</link>>
<<elseif $pe eq 1>>
<<if $scrollMethod is "tool">>
The pole trembles in your hands as you snag the case.
A sudden tug — something beneath the water tries to claim it.
You pull back hard, splashing mud and spray, until the current stills.
You’ve got it.
<<MissionFinish>>
<</if>>
<<if $scrollMethod is "direct">>
<img src="images/Sex/wet.jpeg" width=80%>
The water grips you with icy fingers as you wade in.
Something brushes your thigh—slick, cold, almost curious.
You snatch the scroll and leap back to the shore, heart pounding, robes soaked and clinging.
<<MissionFinish>>
<</if>>
<</if>>
<</if>>
<!--slay Demonic Beast-->
<<if $activeSideMission.id eq "slayDemonicBeast01">>
<<if $pe eq 0>>
The old shrine lies in ruin.
Statues of forgotten gods crumble beneath black vines; cracked stone bleeds faint red light.
The air stinks of sulfur and death.
Then—a growl.
A creature crawls from the shadows, all bone and sinew, with burning eyes and qi that distorts the air itself.
This demonic beast feeds on sacred resentment, its every breath a curse.
<<link "Confront it head-on" $missionpassage>><<set $pe=1>><<set $approach="fight">><</link>>
<<link "Try to cleanse the shrine before engaging" $missionpassage>><<set $pe=1>><<set $approach="purify">><</link>>
<<elseif $pe eq 1>>
<<if $approach eq "fight">>
The clash is brutal. Each strike shatters rock and burns air.
In the end, you stand over its corpse, demonic ichor sizzling at your feet.
<<MissionFinish>>
<<elseif $approach eq "purify">>
You kneel before the shrine, channeling righteous qi.
The beast screams as the light tears through it—its corruption dissolving into ash.
The shrine’s cracked statues glow faintly, offering silent thanks.
<<set $righteousreputation += 1>>
<<MissionFinish>>
<</if>>
<</if>>
<</if>>
<!--hunt River Serpent-->
<<if $activeSideMission.id eq "huntRiverSerpent01">>
<<if $pe eq 0>>
The river runs red. Torn nets and shattered boats drift by like corpses.
Villagers whisper of a **River Serpent**—its scales shimmer like silver flame, its venom can boil flesh.
As you step to the edge, the current stirs... and the serpent rises, eyes gleaming with old hunger.
<<link "Strike as it surfaces" $missionpassage>> <<set $pe=1>> <<set $serpentAction="attack">> <</link>>
<<link "Wait patiently and bait it with qi" $missionpassage>> <<set $pe=1>><<set $serpentAction="lure">><</link>>
<<elseif $pe eq 1>>
<<if $serpentAction eq "attack">>
You leap before it can fully emerge. Qi flares, scales shatter, and water explodes in a geyser of blood.
You drag its corpse ashore, exhausted but victorious.
<<AddItemToInventory $riverpearlscale>>
<<MissionFinish>>
<<elseif $serpentAction eq "lure">>
You hold your breath, still as stone. When it nears, you strike the water with divine precision.
The beast writhes and retreats into the depths, leaving behind a shimmering scale—a token of grudging respect.
<<AddItemToInventory $serpentmarkscale>>
<<set $insight += 1>>
<<MissionFinish>>
<</if>>
<</if>>
<</if>>
<!--rescue Missing Disciple-->
<<if $activeSideMission.id eq "rescueMissingDisciple01">>
<<if $pe eq 0>>
Fog clings to the cliffs of **Hundred Sorrows Mountain**, damp and suffocating.
You hear faint cries echoing between stone and wind.
Torn talismans, a broken sword, blood on the path… and a weak voice calling from the depths of a cave.
Inside, a many-eyed beast crouches over a wounded disciple.
<<link "Charge in to fight the creature" $missionpassage>> <<set $pe=1>><<set $rescueMethod="fight">><</link>>
<<link "Use stealth to draw it away" $missionpassage>> <<set $pe=1>><<set $rescueMethod="lure">><</link>>
<<elseif $pe eq 1>>
<<if $rescueMethod eq "fight">>
You roar and strike. The creature’s limbs thrash; its eyes burst one by one under your blows.
The disciple trembles but lives. You carry them to safety.
Mission complete.
<<set $righteousreputation += 1>>
<<MissionFinish>>
<<elseif $rescueMethod eq "lure">>
You toss a stone, masking your qi. The beast follows the sound.
You slip in, grab the disciple, and flee before it returns.
Both of you live — but nightmares will remain.
<<set $baseinsight += 1>>
<<MissionFinish>>
<</if>>
<</if>>
<</if>>
<!--collect VenomSacs -->
<<if $activeSideMission.id eq "collectVenomSacs01">>
<<if $pe eq 0>>
The dense forest air is humid and stifling. Glowing mushrooms light your path through a tangle of vines and roots. Beneath your feet, faint skittering warns of nearby danger.
Soon, you hear it—the rhythmic clicking of pincers. Forest scorpions. Their stingers drip with glistening venom, potent enough to melt bone.
You steel yourself. Alchemists pay well for these sacs… but the price is always blood.
The forest is thick with buzzing and clicking sounds. You spot two groups of scorpions clustered near glowing mushrooms.
One group is larger but more aggressive; the other smaller and less active.
<<link "Go for the larger group for more venom" $missionpassage >><<set $pe to 1>><<set $scorpionGroup to "large">><</link>>
<<link "Choose the smaller group for safety" $missionpassage>><<set $pe to 1>><<set $scorpionGroup to "small">><</link>>
<<elseif $pe eq 1>>
<<if $scorpionGroup eq "large">>
The larger group yields plenty of venom sacs, but several scorpions sting you before you can retreat. You manage to escape, wounded but richer.
<<set $health to $health - $health*0.15>>
<<set $gold to $gold + random(50, 70)>>
<<MissionFinish>>
<</if>>
<<if $scorpionGroup eq "small">>
The smaller group is easier to handle. You collect fewer sacs, but return unscathed. The alchemists will pay, though less generously.
<<MissionFinish>>
<</if>>
<</if>>
<</if>>
<!--Other Side Missions-->
<<if $activeSideMission.id eq "sparringPartner01">>
<<JuniorSpar>>
<</if>>
<<if $activeSideMission.id eq "cleanCourtyard01">>
<<CleanCourtyard01>>
<</if>>
<<if $activeSideMission.id eq "assistAlchemy01">>
<<AssistAlchemy01>>
<</if>>
<<if $activeSideMission.id eq "patrolPerimeter01">>
<<PatrolPerimeter01>>
<</if>>
<<if $activeSideMission.id eq "deliverSupplies01">>
<<DeliverSupplies01>>
<</if>>
<</nobr>><<set $male_npc_names = [
"Yun","Jie","Tian","Rui","Sheng","Zhen","Hao","Lei","Qing","Long","Xuan","Bo","Chen","Yue","Jin","Wei","Ren","Fang","Yao","Heng","Zhi","Xing","Han","Fei","Chao"
]>>
<<set $female_npc_names = [
"Mei","Lian","Hua","Xue","Ling","Yue","Lan","Qin","Rin","Yin","Shui","Fen","Zhi","Ai","Na","Yu","Ning","Ting","Xia","Bo","Qiao","Min","Ruo","Li","Jing"
]>>
<<set $npc_surnames = [
"Li","Zhao","Mo","Feng","Shen","Wei","Jiang","Han","Leng","Wu","Zhou","Yan","Bai","Chen","Duan","Qin","Xie","Lin","Zhang","Gu"
]>>
<<set $known_npc_list = []>>
<<set $npc_list = []>>
<<set $npc_fem_list = []>>
<<set $active_npc = []>>
<<set $npc_sects =[
"Heavenly Sword Pavilion", "Dragonblood Imperial Clan", "Violet Flame Sect", "Sun-Crushing Hall", "Everlasting Sky Clan", "Black Jade Phoenix Palace", "Golden Tyrant Sect", "Thousand Thunder Pavilion"
]>>
<<set $enemyBattleQuotes = [
"Your moves are crude. Were you trained by farmers?",
"Hah! Is that all your sect has taught you?",
"You dare face me with such pitiful strength?",
"The heavens themselves tremble at my cultivation!",
"You’ll need more than flashy footwork to defeat me.",
"Even my juniors hit harder than that.",
"Your fate was sealed the moment you stepped into this arena.",
"My qi flows like a raging river. You cannot stop it.",
"You might land a strike, but you’ll never break my will.",
"Come! Let this be a lesson written in bruises.",
"You fight with courage... but lack wisdom.",
"Still standing? Impressive... but futile.",
"This duel is over — you just don’t know it yet.",
"Your spiritual roots are weak. I sense no destiny in you.",
"Let’s see how long that arrogance lasts under pressure.",
"You hold back. Why? Are you afraid of your own strength?",
"I’ve bested beasts with more fight than you.",
"Is this what the righteous path teaches now? Pathetic.",
"You're not bad... but I won’t lose to someone like you.",
"A spark of talent — wasted on someone without control."
]>>
<<set $neutralTalkNPC to [
"You look like a new face around here.",
"Not many travelers pass through this area.",
"What brings you to this place?",
"Be careful. Not all cultivators are as kind as they appear.",
"The spiritual energy feels dense today, doesn't it?"
]>>
<<set $friendlyTalkNPC to [
"It’s always good to see a friendly face.",
"Training hard again? You never take a break.",
"I found a quiet spot by the waterfall—you’d love it.",
"Let me know if you ever need help with your cultivation.",
"The sect's been talking about your progress. You're not bad."
]>>
<<set $loverTalkNPC to [
"I dreamed of you last night…",
"Come closer. I want to feel your presence.",
"You always make my heart feel lighter.",
"After everything, I’m glad we met.",
"When this world turns to chaos, remember you have me."
]>>
<<set $highDepravityTalkNPC to [
"Power is the only language worth speaking.",
"Desire isn't a weakness—it's fuel.",
"Have you ever killed someone and felt… exhilarated?",
"Kindness? That's a lie we tell ourselves.",
"I could show you things you'd never forget… if you're brave enough."
]>>
<<set $MentorTalkNPC to [
"Your stance is improving. Slightly.",
"Discipline, focus, and patience—that’s the path.",
"Did you review the techniques I assigned?",
"Even a spark can become a flame. Don’t waste your potential.",
"I was once like you… hungry for power, blind to the cost."
]>>
<<set $ApprenticeTalkNPC to [
"Master, do you think I’m ready for the next realm?",
"I tried the technique you showed me, but something feels off.",
"Thank you for taking me in. I won’t disappoint you.",
"Sometimes I wonder why you chose me.",
"Your teachings… they saved me more than once."
]>>
<<set $enemyTalkNPC to [
"Still alive? Disappointing.",
"One day, I’ll surpass you. Count on it.",
"Don’t think I’ve forgotten what you did.",
"You may have power, but you lack honor.",
"Every time we speak, I lose more respect for you."
]>>
<<set $highTalk to [
"You’ve changed since we first met.",
"Talking to you always makes things clearer.",
"Strange… I never thought I’d trust someone like you.",
"So much has happened, hasn’t it?",
"Even in silence, your presence comforts me."
]>>
<<set $GenerationNPCRealmStats = {
"Body Tempering Realm": {
"early": {
"lifespan": [70, 80],
"health": [250, 320],
"energy": [180, 220],
"luck": [4, 6],
"insight": [4, 6],
"basestrength": [4, 6],
"basewillpower": [4, 6],
"atk": [35, 45],
"def": [4, 6],
"crit": [2, 4],
"critres": [1, 2],
"agility": [6, 8],
"martialArts": [8, 12],
"spiritualRoot": [9, 11]
},
"middle": {
"lifespan": [85, 115],
"health": [350, 450],
"energy": [250, 320],
"luck": [6, 10],
"insight": [6, 10],
"basestrength": [7, 10],
"basewillpower": [6, 9],
"atk": [45, 85],
"def": [6, 10],
"crit": [4, 7],
"critres": [3, 5],
"agility": [8, 12],
"martialArts": [12, 18],
"spiritualRoot": [11, 14]
},
"late": {
"lifespan": [115, 130],
"health": [500, 700],
"energy": [350, 500],
"luck": [8, 14],
"insight": [10, 16],
"basestrength": [11, 15],
"basewillpower": [10, 14],
"atk": [85, 120],
"def": [12, 18],
"crit": [6, 10],
"critres": [6, 10],
"agility": [12, 18],
"martialArts": [16, 25],
"spiritualRoot": [15, 20]
}
},
"Meridian Awakening Realm": {
"early": {
"lifespan": [135, 140],
"health": [750, 900],
"energy": [600, 720],
"luck": [10, 14],
"insight": [12, 16],
"basestrength": [16, 20],
"basewillpower": [14, 18],
"atk": [120, 170],
"def": [20, 30],
"crit": [8, 12],
"critres": [8, 12],
"agility": [16, 22],
"martialArts": [24, 32],
"spiritualRoot": [22, 30]
},
"middle": {
"lifespan": [145, 150],
"health": [1000, 1200],
"energy": [800, 1000],
"luck": [14, 20],
"insight": [18, 24],
"basestrength": [20, 26],
"basewillpower": [18, 24],
"atk": [170, 220],
"def": [28, 40],
"crit": [10, 16],
"critres": [10, 16],
"agility": [22, 30],
"martialArts": [30, 40],
"spiritualRoot": [28, 36]
},
"late": {
"lifespan": [155, 160],
"health": [1400, 1800],
"energy": [1200, 1600],
"luck": [20, 28],
"insight": [26, 34],
"basestrength": [28, 36],
"basewillpower": [26, 32],
"atk": [220, 270],
"def": [40, 55],
"crit": [14, 20],
"critres": [14, 20],
"agility": [30, 40],
"martialArts": [38, 50],
"spiritualRoot": [35, 45]
}
},
"Qi Condensation Realm": {
"early": {
"lifespan": [165, 170],
"health": [900, 900],
"energy": [600, 720],
"luck": [10, 14],
"insight": [12, 16],
"basestrength": [16, 20],
"basewillpower": [14, 18],
"atk": [270, 330],
"def": [20, 30],
"crit": [8, 12],
"critres": [8, 12],
"agility": [16, 22],
"martialArts": [24, 32],
"spiritualRoot": [22, 30]
},
"middle": {
"lifespan": [175, 180],
"health": [1000, 1200],
"energy": [800, 1000],
"luck": [14, 20],
"insight": [18, 24],
"basestrength": [20, 26],
"basewillpower": [18, 24],
"atk": [330, 380],
"def": [28, 40],
"crit": [10, 16],
"critres": [10, 16],
"agility": [22, 30],
"martialArts": [30, 40],
"spiritualRoot": [28, 36]
},
"late": {
"lifespan": [185, 200],
"health": [1400, 1800],
"energy": [1200, 1600],
"luck": [20, 28],
"insight": [26, 34],
"basestrength": [28, 36],
"basewillpower": [26, 32],
"atk": [370, 430],
"def": [40, 55],
"crit": [14, 20],
"critres": [14, 20],
"agility": [30, 40],
"martialArts": [38, 50],
"spiritualRoot": [35, 45]
}
}
}>><<widget "CreateNPC_Region1">>\
<<silently>>\
<<set _id = random(0, 10000) + Date.now()>>
<<set _gender = 0>>
<<set _RighteousTendencies = random(100,200)>>
<<set _DemonicTendencies = random(100,200)>>
<<set _enemyability = []>>
<<set _enemyability.push("attack", "attack")>>
<<set _name = $male_npc_names.random()>>
<<set _surname = $npc_surnames.random()>>
<<set _enemyregion = "Enemy">>
<<set _enemyimage = ["enemy1", "enemy2", "enemy3", "enemy4"].random()>>
<<set _fullname = _surname + " " + _name>>
<<set _imgID = random(0,10)>>,
<<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain"].random()>>
<<set _stageType = ["Early", "Middle", "Late"].random()>>
<<set _realm = ["Body Tempering Realm", "Meridian Awakening Realm", "Qi Condensation Realm"].random()>>
<<set _cultivation = _realm + " " +_stageType>>
<<set _sectAffiliation = ["Clear Sky Azure Dragon Pavilion", "Ghost King Netherworld Sect"].random()>>
<<if _sectAffiliation eq "Clear Sky Azure Dragon Pavilion">><<set _enemySect to "righteous">><<else>><<set _enemySect to "demonic">><</if>>
<<set _npcmentorship = 0>>
<<set _npcRelationship = 0>>
<<if _realm eq "Body Tempering Realm">>
<<if _stageType eq "Early">>
<<set _maxlifespanNPC = random(70, 80)>>
<<set _lifespanNPC = random(18,70)>>
<<set _maxhealthNPC = random(250, 320)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _maxenergyNPC = random(180, 220)>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(4, 6)>>
<<set _insightNPC = random(4, 6)>>
<<set _basestrengthNPC = random(4, 6)>>
<<set _basewillpowerNPC = random(4, 6)>>
<<set _atkNPC = random(35, 45)>>
<<set _defNPC = random(4, 6)>>
<<set _critNPC = random(2, 4)>>
<<set _critresNPC = random(1, 2)>>
<<set _agilityNPC = random(6, 8)>>
<<set _martialArtsNPC = random(8, 12)>>
<<set _spiritualRootNPC = random(9, 11)>>
<<elseif _stageType eq "Middle">>
<<set _maxlifespanNPC = random(85, 115)>>
<<set _lifespanNPC = random(18,85)>>
<<set _maxhealthNPC = random(350, 450)>>
<<set _maxenergyNPC = random(250, 320)>>
<<set _luckNPC = random(6, 10)>>
<<set _insightNPC = random(6, 10)>>
<<set _basestrengthNPC = random(7, 10)>>
<<set _basewillpowerNPC = random(6, 9)>>
<<set _atkNPC = random(45, 85)>>
<<set _defNPC = random(6, 10)>>
<<set _critNPC = random(4, 7)>>
<<set _critresNPC = random(3, 5)>>
<<set _agilityNPC = random(8, 12)>>
<<set _martialArtsNPC = random(12, 18)>>
<<set _spiritualRootNPC = random(11, 14)>>
<<elseif _stageType eq "Late">>
<<set _maxlifespanNPC = random(115, 130)>>
<<set _lifespanNPC = random(18,115)>>
<<set _maxhealthNPC = random(500, 700)>>
<<set _maxenergyNPC = random(350, 500)>>
<<set _luckNPC = random(8, 14)>>
<<set _insightNPC = random(10, 16)>>
<<set _basestrengthNPC = random(11, 15)>>
<<set _basewillpowerNPC = random(10, 14)>>
<<set _atkNPC = random(85, 120)>>
<<set _defNPC = random(12, 18)>>
<<set _critNPC = random(6, 10)>>
<<set _critresNPC = random(6, 10)>>
<<set _agilityNPC = random(12, 18)>>
<<set _martialArtsNPC = random(16, 25)>>
<<set _spiritualRootNPC = random(15, 20)>>
<</if>>
<</if>>
<<if _realm eq "Meridian Awakening Realm">>
<<if _stageType eq "Early">>
<<set _maxlifespanNPC = random(135, 140)>>
<<set _lifespanNPC = random(18,135)>>
<<set _maxhealthNPC = random(750, 900)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _maxenergyNPC = random(600, 720)>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(10, 14)>>
<<set _insightNPC = random(12, 16)>>
<<set _basestrengthNPC = random(16, 20)>>
<<set _basewillpowerNPC = random(14, 18)>>
<<set _atkNPC = random(120, 170)>>
<<set _defNPC = random(20, 30)>>
<<set _critNPC = random(8, 12)>>
<<set _critresNPC = random(8, 12)>>
<<set _agilityNPC = random(16, 22)>>
<<set _martialArtsNPC = random(24, 32)>>
<<set _spiritualRootNPC = random(22, 30)>>
<<elseif _stageType eq "Middle">>
<<set _maxlifespanNPC = random(145, 150)>>
<<set _lifespanNPC = random(18,145)>>
<<set _maxhealthNPC = random(1000, 1200)>>
<<set _maxenergyNPC = random(800, 1000)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(14, 20)>>
<<set _insightNPC = random(18, 24)>>
<<set _basestrengthNPC = random(20, 26)>>
<<set _basewillpowerNPC = random(18, 24)>>
<<set _atkNPC = random(170, 220)>>
<<set _defNPC = random(28, 40)>>
<<set _critNPC = random(10, 16)>>
<<set _critresNPC = random(10, 16)>>
<<set _agilityNPC = random(22, 30)>>
<<set _martialArtsNPC = random(30, 40)>>
<<set _spiritualRootNPC = random(28, 36)>>
<<elseif _stageType eq "Late">>
<<set _maxlifespanNPC = random(155, 160)>>
<<set _lifespanNPC = random(18,155)>>
<<set _maxhealthNPC = random(1400, 1800)>>
<<set _maxenergyNPC = random(1200, 1600)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(20, 28)>>
<<set _insightNPC = random(26, 34)>>
<<set _basestrengthNPC = random(28, 36)>>
<<set _basewillpowerNPC = random(26, 32)>>
<<set _atkNPC = random(220, 270)>>
<<set _defNPC = random(40, 55)>>
<<set _critNPC = random(14, 20)>>
<<set _critresNPC = random(14, 20)>>
<<set _agilityNPC = random(30, 40)>>
<<set _martialArtsNPC = random(38, 50)>>
<<set _spiritualRootNPC = random(35, 45)>>
<</if>>
<</if>>
<<if _realm eq "Qi Condensation Realm">>
<<if _stageType eq "Early">>
<<set _maxlifespanNPC = random(165, 170)>>
<<set _lifespanNPC = random(18,165)>>
<<set _maxhealthNPC = random(900, 900)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _maxenergyNPC = random(600, 720)>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(10, 14)>>
<<set _insightNPC = random(12, 16)>>
<<set _basestrengthNPC = random(16, 20)>>
<<set _basewillpowerNPC = random(14, 18)>>
<<set _atkNPC = random(270, 330)>>
<<set _defNPC = random(20, 30)>>
<<set _critNPC = random(8, 12)>>
<<set _critresNPC = random(8, 12)>>
<<set _agilityNPC = random(16, 22)>>
<<set _martialArtsNPC = random(24, 32)>>
<<set _spiritualRootNPC = random(22, 30)>>
<<elseif _stageType eq "Middle">>
<<set _maxlifespanNPC = random(175, 180)>>
<<set _lifespanNPC = random(18,175)>>
<<set _maxhealthNPC = random(1000, 1200)>>
<<set _maxenergyNPC = random(800, 1000)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(14, 20)>>
<<set _insightNPC = random(18, 24)>>
<<set _basestrengthNPC = random(20, 26)>>
<<set _basewillpowerNPC = random(18, 24)>>
<<set _atkNPC = random(330, 380)>>
<<set _defNPC = random(28, 40)>>
<<set _critNPC = random(10, 16)>>
<<set _critresNPC = random(10, 16)>>
<<set _agilityNPC = random(22, 30)>>
<<set _martialArtsNPC = random(30, 40)>>
<<set _spiritualRootNPC = random(28, 36)>>
<<elseif _stageType eq "Late">>
<<set _maxlifespanNPC = random(185, 200)>>
<<set _lifespanNPC = random(18,185)>>
<<set _maxhealthNPC = random(1400, 1800)>>
<<set _maxenergyNPC = random(1200, 1600)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(20, 28)>>
<<set _insightNPC = random(26, 34)>>
<<set _basestrengthNPC = random(28, 36)>>
<<set _basewillpowerNPC = random(26, 32)>>
<<set _atkNPC = random(370, 430)>>
<<set _defNPC = random(40, 55)>>
<<set _critNPC = random(14, 20)>>
<<set _critresNPC = random(14, 20)>>
<<set _agilityNPC = random(30, 40)>>
<<set _martialArtsNPC = random(38, 50)>>
<<set _spiritualRootNPC = random(35, 45)>>
<</if>>
<</if>>
<<set _intTrait = $NPCinternalOptions.random()>>
<<set _extTrait = $NPCexternalOptions.random()>>
<<set _friendship = 0>>
<<set _had_sex = 0>>
<<set _talk = true>>
<<set _charm = random(1, 5)>>
<<set _depravity = random(7, 30)>>
<<set _enemyEvadeScore = (_agilityNPC * 2) + (_insightNPC * 1.5) + (_luckNPC * 0.5)>>
<<set _npc = {
id: _id,
IdImg: _imgID,
name: _name,
surname: _surname,
internalTrait: _intTrait,
externalTrait: _extTrait,
friendship: _friendship,
depravity: _depravity,
charm: _charm,
talk: _talk,
hadSex: _had_sex,
mentorshipType: _npcmentorship,
relationshipType: _npcRelationship,
sectNPC: _sectAffiliation,
realm: _cultivation,
gender: _gender,
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: __lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
RightTendencies: _RighteousTendencies,
DemonTendencies: _DemonicTendencies,
enemySectType: _enemySect
}>>
<</silently>>\
<</widget>>\
\
\
\
\
<<widget "ArrogantYoungMaster">>
<<silently>>
<<set _id = random(10001, 20000) + Date.now()>>
<<set _name = $male_npc_names.random()>>
<<set _surname = $npc_surnames.random()>>
<<set _fullname = _surname + " " + _name>>
<<set _enemyability = []>>
<<set _enemyregion = "Enemy">>
<<set _enemyimage = ["aym", "aym2", "aym3", "aym4", "aym5", "aym6", "aym7","aym8","aym9","aym10"].random()>>
<<set _enemyability.push("attack", "attack")>>
<<set _stageType = ["Early", "Middle", "Late"].random()>>
<<if $cultivationRealm eq "Body Tempering Realm">><<set _realm = "Body Tempering Realm">><<elseif $cultivationRealm eq "Meridian Awakening Realm">>
<<set _realm = "Body Tempering Realm">><<elseif $cultivationRealm eq "Qi Condensation Realm">><<set _realm = "Meridian Awakening Realm">><</if>>
<<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain"].random()>>
<<set _cultivation = _realm + " " +_stageType>>
<<set _sectAffiliation = $npc_sects.random()>>
<<set _maxlifespanNPC = random(85, 115)>>
<<set _lifespanNPC = random(18,25)>>
<<set _maxhealthNPC = random(350, 450)>>
<<set _maxenergyNPC = random(250, 320)>>
<<set _luckNPC = random(6, 10)>>
<<set _insightNPC = random(6, 10)>>
<<set _basestrengthNPC = random(7, 10)>>
<<set _basewillpowerNPC = random(6, 9)>>
<<set _atkNPC = random(15, 22)>>
<<set _defNPC = random(6, 10)>>
<<set _critNPC = random(4, 7)>>
<<set _critresNPC = random(3, 5)>>
<<set _agilityNPC = random(8, 12)>>
<<set _martialArtsNPC = random(12, 18)>>
<<set _spiritualRootNPC = random(11, 14)>>
<<set _friendship = 0>>
<<set _intTrait = $NPCinternalOptions.random()>>
<<set _extTrait = $NPCexternalOptions.random()>>
<<set _npc = {
id: _id,
name: _name,
enemyimage: _enemyimage,
enemyregion: _enemyregion,
surname: _surname,
internalTrait: _intTrait,
externalTrait: _extTrait,
friendship: _friendship,
depravity: _depravity,
charm: _charm,
friendship: _friendship,
talk: _talk,
hadSex: _had_sex,
mentorshipType: _npcmentorship,
relationshipType: _npcRelationship,
sectNPC: _clan,
realm: _cultivation,
gender: _gender,
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: __lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
enemyAbility: _enemyability,
NPClocation: _location
}>>
<</silently>>
<</widget>>
<<widget "CreateMentor">>
<<silently>>
<<set _id = random(0, 10000) + Date.now()>>
<<set _gender = ["male","female"].random()>>
<<set _RighteousTendencies = random(100,200)>>
<<set _DemonicTendencies = random(100,200)>>
<<set _enemyability = []>>
<<set _enemyability.push("attack", "attack")>>
<<if _gender eq "male">>
<<set _name = $male_npc_names.random()>>
<<set _surname = $npc_surnames.random()>>
<<else>>
<<set _name = $female_npc_names.random()>>
<<set _surname = $npc_surnames.random()>>
<</if>>
<<set _enemyregion = "Enemy">>
<<if _gender eq "male">>
<<set _enemyimage = ["master1", "master2", "master3"].random()>>
<<else>>
<<set _enemyimage = ["mentress1", "mentress2", "mentress3"].random()>>
<</if>>
<<set _fullname = _surname + " " + _name>>
<<set _imgID = random(0,10)>>
<<set _intTrait = $NPCinternalOptions.random()>>
<<set _extTrait = $NPCexternalOptions.random()>>
<<set _sectRank to "Elder">>
<<set _stageType = ["Early", "Middle", "Late"].random()>>
<<set _realm = "Golden Core Realm">>
<<set _cultivation = _realm + " " +_stageType>>
<<set _sectAffiliation = ["Clear Sky Azure Dragon Pavilion", "Ghost King Netherworld Sect"].random()>>
<<if _sectAffiliation eq "Clear Sky Azure Dragon Pavilion">><<set _enemySect to "righteous">><<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain", "Clear Sky Azure Dragon Pavilion"].random()>><<else>><<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain", "Ghost King Netherworld Sect"].random()>><<set _enemySect to "demonic">><</if>>
<<set _npcmentorship = 1>>
<<set _npcRelationship = 0>>
<<set _friendship = 0>>
<<if _stageType eq "Early">>
<<set _maxlifespanNPC = random(300, 350)>>
<<set _lifespanNPC = random(80, 300)>>
<<set _maxhealthNPC = random(2000, 2400)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _maxenergyNPC = random(1800, 2200)>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(28, 35)>>
<<set _insightNPC = random(30, 40)>>
<<set _basestrengthNPC = random(35, 45)>>
<<set _basewillpowerNPC = random(30, 40)>>
<<set _atkNPC = random(120, 150)>>
<<set _defNPC = random(50, 70)>>
<<set _critNPC = random(18, 24)>>
<<set _critresNPC = random(16, 20)>>
<<set _agilityNPC = random(30, 40)>>
<<set _martialArtsNPC = random(50, 70)>>
<<set _spiritualRootNPC = random(45, 60)>>
<<elseif _stageType eq "Middle">>
<<set _maxlifespanNPC = random(350, 400)>>
<<set _lifespanNPC = random(80, 350)>>
<<set _maxhealthNPC = random(2400, 2800)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _maxenergyNPC = random(2200, 2600)>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(34, 45)>>
<<set _insightNPC = random(40, 55)>>
<<set _basestrengthNPC = random(45, 60)>>
<<set _basewillpowerNPC = random(40, 55)>>
<<set _atkNPC = random(150, 200)>>
<<set _defNPC = random(70, 100)>>
<<set _critNPC = random(20, 28)>>
<<set _critresNPC = random(18, 26)>>
<<set _agilityNPC = random(40, 60)>>
<<set _martialArtsNPC = random(70, 90)>>
<<set _spiritualRootNPC = random(60, 75)>>
<<elseif _stageType eq "Late">>
<<set _maxlifespanNPC = random(400, 500)>>
<<set _lifespanNPC = random(80, 400)>>
<<set _maxhealthNPC = random(2800, 3500)>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _maxenergyNPC = random(2600, 3200)>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(40, 55)>>
<<set _insightNPC = random(50, 70)>>
<<set _basestrengthNPC = random(60, 80)>>
<<set _basewillpowerNPC = random(55, 75)>>
<<set _atkNPC = random(200, 250)>>
<<set _defNPC = random(100, 130)>>
<<set _critNPC = random(24, 32)>>
<<set _critresNPC = random(20, 30)>>
<<set _agilityNPC = random(60, 80)>>
<<set _martialArtsNPC = random(90, 120)>>
<<set _spiritualRootNPC = random(75, 90)>>
<</if>>
<<set _npc = {
id: _id,
IdImg: _imgID,
name: _name,
surname: _surname,
internalTrait: _intTrait,
externalTrait: _extTrait,
friendship: _friendship,
depravity: _depravity,
charm: _charm,
talk: _talk,
hadSex: _had_sex,
mentorshipType: _npcmentorship,
relationshipType: _npcRelationship,
sectNPC: _sectAffiliation,
realm: _cultivation,
gender: _gender,
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: _lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
RightTendencies: _RighteousTendencies,
DemonTendencies: _DemonicTendencies,
enemySectType: _enemySect,
NPCrank: _sectRank
}>>
<</silently>>
<</widget>>
<<widget "CreateNPC001">>
<<silently>>
<<set _id = random(0, 10000) + Date.now()>>
<<set _gender = ["male","female"].random()>>
<<set _RighteousTendencies = random(100,200)>>
<<set _DemonicTendencies = random(100,200)>>
<<set _enemyability = []>>
<<set _enemyability.push("attack", "attack")>>
<<if _gender eq "male">>
<<set _name = $male_npc_names.random()>>
<<set _surname = $npc_surnames.random()>>
<<else>>
<<set _name = $female_npc_names.random()>>
<<set _surname = $npc_surnames.random()>>
<</if>>
<<set _enemyregion = "Enemy">>
<<set _enemyimage = ["enemy1", "enemy2", "enemy3", "enemy4"].random()>>
<<set _fullname = _surname + " " + _name>>
<<set _imgID = random(0,10)>>,
<<set _cultivation = _realm + " " +_stageType>>
<<set _sectAffiliation = ["Clear Sky Azure Dragon Pavilion", "Ghost King Netherworld Sect", "Unafiliated"].random()>>
<<set _location = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain"].random()>>
<<if _sectAffiliation eq "Clear Sky Azure Dragon Pavilion">><<set _enemySect to "righteous">><<elseif _sectAffiliation eq "Ghost King Netherworld Sect">><<set _enemySect to "demonic">><<else>><<set _enemySect to ["righteous", "demonic"].random() >><</if>>
<<set _npcmentorship = 0>>
<<set _npcRelationship = 0>>
<<if _sectAffiliation eq "Unafiliated">><<set _sectRank to "">><<else>><<set _sectRank to ["Member", "Disciple", "Elder"].random()>><</if>>
<<set _friendship = 0>>
<<set _intTrait = $NPCinternalOptions.random()>>
<<set _extTrait = $NPCexternalOptions.random()>>
<<set _realm = ["Body Tempering Realm","Meridian Awakening Realm","Qi Condensation Realm"].random()>>
<<set _stageType = ["early","middle","late"].random()>>
<<set _stats = $GenerationNPCRealmStats[_realm][_stageType]>>
<<set _cultivation = _realm + " " +_stageType>>
<<set _maxlifespanNPC = random(_stats.lifespan[0], _stats.lifespan[1])>>
<<set _lifespanNPC = random(18, _maxlifespanNPC)>>
<<set _maxhealthNPC = random(_stats.health[0], _stats.health[1])>>
<<set _currenthealthNPC = _maxhealthNPC>>
<<set _maxenergyNPC = random(_stats.energy[0], _stats.energy[1])>>
<<set _currentenergyNPC = _maxenergyNPC>>
<<set _luckNPC = random(_stats.luck[0], _stats.luck[1])>>
<<set _insightNPC = random(_stats.insight[0], _stats.insight[1])>>
<<set _basestrengthNPC = random(_stats.basestrength[0], _stats.basestrength[1])>>
<<set _basewillpowerNPC = random(_stats.basewillpower[0], _stats.basewillpower[1])>>
<<set _atkNPC = random(_stats.atk[0], _stats.atk[1])>>
<<set _defNPC = random(_stats.def[0], _stats.def[1])>>
<<set _critNPC = random(_stats.crit[0], _stats.crit[1])>>
<<set _critresNPC = random(_stats.critres[0], _stats.critres[1])>>
<<set _agilityNPC = random(_stats.agility[0], _stats.agility[1])>>
<<set _martialArtsNPC = random(_stats.martialArts[0], _stats.martialArts[1])>>
<<set _spiritualRootNPC = random(_stats.spiritualRoot[0], _stats.spiritualRoot[1])>>
<<set _npc = {
id: _id,
IdImg: _imgID,
name: _name,
surname: _surname,
internalTrait: _intTrait,
externalTrait: _extTrait,
friendship: _friendship,
depravity: _depravity,
charm: _charm,
talk: _talk,
hadSex: _had_sex,
mentorshipType: _npcmentorship,
relationshipType: _npcRelationship,
sectNPC: _sectAffiliation,
realm: _cultivation,
gender: _gender,
fullname: _fullname,
NPCmaxlifespan: _maxlifespanNPC,
NPClifespan: _lifespanNPC,
NPCmaxhealth: _maxhealthNPC,
NPCmaxenergy: _maxenergyNPC,
NPCcurrenthealth: _currenthealthNPC,
NPCcurrentenergy: _currentenergyNPC,
NPCluck: _luckNPC,
NPCinsight: _insightNPC,
NPCbasestrength: _basestrengthNPC,
NPCbasewillpower: _basewillpowerNPC,
NPCatk: _atkNPC,
NPCdef: _defNPC,
NPCcrit: _critNPC,
NPCcritres: _critresNPC,
NPCagility: _agilityNPC,
NPCmartialArts: _martialArtsNPC,
NPCspiritualRoot: _spiritualRootNPC,
NPClocation: _location,
enemyregion: _enemyregion,
enemyimage: _enemyimage,
enemyEvade: _enemyEvadeScore,
enemyAbility: _enemyability,
RightTendencies: _RighteousTendencies,
DemonTendencies: _DemonicTendencies,
enemySectType: _enemySect,
NPCrank: _sectRank
}>>
<</silently>>
<</widget>>
<<widget "NpcPosition">>
<<if $turns % 12 == 0>>
<<for _ab range $known_npc_list>>
<<set _ab.NPClocation = ["Jade Creek Town", "Northern Phoenix City", "Blood Sand Reach", "Hundred Sorrows Mountain", "Ghost King Netherworld Sect", "Clear Sky Azure Dragon Pavilion"].random()>>
<</for>>
<</if>>
<</widget>>
<<widget "BattleAddNPC">>\
<<run $known_npc_list.push($currentEnemy)>>\
<</widget>>\
<<widget "AddNPC">>\
<<run $known_npc_list.push(_npc)>>\
<</widget>>\
<<widget "RemoveNPC">>\
<<for _i = 0; _i < $known_npc_list.length; _i = _i + 1>>\
<<if $active_npc.id === $known_npc_list[_i].id>>\
<<run $known_npc_list.deleteAt($known_npc_list.indexOf($known_npc_list[_i]))>>\
<</if>>\
<</for>>\
<</widget>><<widget "RelationshipType">>
<<if _npc neq null>>
<<if _npc.relationshipType is "enemy">>
Enemy
<<elseif _npc.relationshipType is "lover" and _npc.hadSex neq null and _npc.hadSex eq 1>>
Lover
<<elseif _npc.mentorshipType neq null and _npc.mentorshipType eq 1>>
Master
<<elseif _npc.mentorshipType neq null and _npc.mentorshipType eq 2>>
Apprentice
<<elseif _npc.friendship neq null and _npc.talk neq null and _npc.friendship gte 30 and _npc.friendship lt 70>>
Friend
<<elseif _npc.friendship neq null and _npc.talk neq null and _npc.friendship lt 20 and _npc.talk lt 3>>
Stranger
<<else>>
Acquaintance
<</if>>
<<else>>
Stranger
<</if>>
<</widget>><<set $playernameList to ["Lianhua", "Meiying", "Ziyan", "Xue'er", "Ruyue", "Yuelian", "Qingxue", "Feiyan", "Huixin", "Ling'er", "Zhilan", "Yunxi", "Shuang", "Yanyan", "Mingyue"]>>
<<set $playersurnameList to ["Bai", "Li", "Feng", "Zhao", "Qin", "Shangguan", "Xu", "Jiang", "Mo", "Yan", "Zhu", "Lan", "Tang", "Luo", "Su"]>>
<<set $internalOptions to ["Selfless", "Upstanding", "Kind", "Wicked", "Selfish", "Evil"]>>
<<set $internalTrait to "">>
<<set $externalOptions to ["Romantic", "Vengeful", "Power-hungry", "Loyal", "Family-oriented", "Carefree", "Glory hound", "Self centered"]>>
<<set $externalTrait to "">>
<<set $NPCinternalOptions to ["Selfless", "Upstanding", "Kind", "Wicked", "Selfish", "Evil"]>>
<<set $NPCexternalOptions to ["Romantic", "Vengeful", "Power-hungry", "Loyal", "Family-oriented", "Carefree", "Glory hound", "Self centered"]>><<if $regioneventid eq "01">>
<!--The Bamboo Grove of Whispers -->
<<if $pe eq 0>>
The grove is hushed, save for the sigh of bamboo swaying like an endless sea. Yet beneath the rustle, whispers slither-too deliberate to be mere wind.
They curl around your thoughts, beckoning you deeper… or tempting you to open your spirit to them.
[[Follow the whispers->NormalEvents][$pe=1]]
[[Meditate within the grove ->NormalEvents][$pe=2]]
<<link "Leave silently" $passage>><</link>>
<<elseif $pe eq 1>>
<<WhisperingShade>>
<<BeforeBattle>>
You follow the eerie voices deeper into the grove. The air thickens, and a ghostly cultivator steps from the shadows, his eyes hollow but fierce. His silence speaks of ancient grudges. You must fight for the whispers to fade.
<<link "Draw your weapon and prepare to fight" "Battle1">><<set $returnpassage to passage()>><<set $passage to "Battle1">><<set $pe to 0>><</link>>
<<link "Retreat" $passage>><</link>>
<<elseif $pe eq 2>>
You cross your legs beneath the whispering bamboo, shutting your eyes.
The voices seep into your mind, at first a storm of nonsense-then, threads of meaning reveal themselves: forgotten teachings, lost sutras, riddles of mortality.
Your qi flows steadier, like a river guided into its true course. When you finally rise, the grove feels less haunting - yet a lingering sense of being watched trails behind you.
<b>You've gained some Insight!</b>
<<link "Leave" $passage>><<set $baseinsight +=2>><</link>>
<<elseif $pe eq 3>>
The ghostly cultivator lets out a silent wail as your strike severs his form. He dissolves into threads of light that scatter among the bamboo, and the whispers at last fall quiet.
Among the fading motes, you find a shard of jade etched with runes-it hums faintly with residual power.
<<link "Leave the grove" "Map|Region1">><<set $baseinsight +=1>> <</link>>
<<elseif $pe eq 4>>
The shade’s blade pierces your defenses, its cold touch dragging at your very soul. The bamboo leans closer, whispering your failures.
With the last of your will, you stagger free from the grove. Though you live, your qi feels frayed-tainted by lingering resentment.
<<set $health -= 0.25*$basemaxhealth>>
<<set $baseluck -= 1>>
<<link "Stumble away from the grove" "Map|Region1">><</link>>
<</if>>
<<elseif $regioneventid eq "02">>
<<if $pe eq 0>>
<!-- The Crying Lotus-->
<img src="images/Story/bloodlotus.jpg" width=512>
A lotus blooms in the middle of a bloodied pond. Its petals are the color of fresh wounds, and from its heart drips a single crystalline tear that never falls.
The whispers of the pond beg for attention-yet whether they are prayers, curses, or illusions, you cannot tell.
[[Touch the lotus->NormalEvents][$pe=1]]
[[Sing to the lotus ->NormalEvents][$pe=2]]
<<link "Leave silently" $passage>><</link>>
<<elseif $pe eq 1>>
The tear rolls onto your skin-searing like molten metal, yet freezing your veins. You stagger as agony and clarity crash together.
For a moment, you see endless rivers of blood, wars fought over flowers like this one. When your vision clears, your soul feels steadier, less vulnerable to deceit.
You clutch the Iron-Blood Lotus Seed, still warm from the tear.
<<link "Leave" $passage>><<set $basespiritualRoot +=1>><</link>>
<<AddItemToInventory $ironbloodlotusseed>>
<<elseif $pe eq 2>>
You hum a gentle tune, and the blood-stained pond stills. The lotus tilts toward you, offering a crystalized tear. It shimmers with purity and potential-alchemy awaits.
<<link "Leave" $passage>><<set $baseinsight +=1>><</link>>
<<AddItemToInventory $ironbloodlotusseed>>
<</if>>
<<elseif $regioneventid eq "03">>
<<if $pe eq 0>>
Amid shattered stone and mossy ruins, you find a jug half-buried in earth.
The seal is old, the clay cracked, yet from within drifts a fragrance so potent it bends your knees. It is wine of the heavens, once brewed by a hand that defied mortality.
<!-- Drunken Immortal’s Jug-->
[[Drink->NormalEvents][$pe=1]]
[[Save it ->NormalEvents][$pe=2]]
<<link "Leave silently" $passage>><</link>>
<<elseif $pe eq 1>>
The wine is wild fire and starlight. Your body stumbles, your laugh escapes unbidden. Power surges, unbalanced and fierce. You may fall, or you may ascend-only fate decides tonight.
<<set _roll to random(0,100)>>
<<if _roll gte 70>>
You've failed to grasp essence of power!
Your experience has slightly decreased!
<<set $exp -= 0.1*$exp>>
<<else>>
You've succeed!
You've grasped essence of power! Your experience has increased slightly!
<<set $exp += 0.2*$exp+random(100,500)>>
<</if>>
<<link "Leave" $passage>><</link>>
<<elseif $pe eq 2>>
With iron will, you force the jug’s scent from your lungs and reseal it. The fragrance lingers like celestial music, promising strength when fate grows cruel.
Legends whisper that this wine tempers tribulation fire-what is calamity to one who laughs at the heavens?
<<link "Leave" $passage>><</link>>
<<AddItemToInventory $moltengolddew>>
<</if>>
<<elseif $regioneventid eq "04">>
<<if $pe is 0>>
A monstrous figure blocks your path-a humanoid pig, tusks curling, bristling with muscle and raw energy.
Its gaze fixes on you like a predator sizing prey.
<!-- Demon Pig’s Trial -->
<<if $demon_pig_encountered neq 1>>\
<<link "Fight it" "NormalEvents">><<set $pe = 1>><</link>>\
<<link "Offer food" "NormalEvents">><<set $pe = 2>><</link>>\
<<link "Try to appease it" "NormalEvents">><<set $pe = 3>><</link>>\
<<else>>\
<<if $demon_pig_result eq "fight">>\
The demon pig grunts, eyes narrowing as it recognizes you. It steps aside, acknowledging your strength.
<<link "Leave silently" $passage>><</link>>\
<<elseif $demon_pig_result eq "food">>\
The demon pig grunts in recognition, stepping aside to let you pass. It seems to remember your kindness.
<<link "Leave silently" $passage>><</link>>\
<<elseif $demon_pig_result eq "appease">>\
<<nobr>>
<br>It lunges before you can flee. Its tusks press into your shoulders as massive hands grip your hips.
<br><span class="male">“Did you miss me?”</span> its growl seems to echo in your mind. Its cock slams into your cunt before you can react, shoving you to the ground in doggy style.
<br>You gasp and whimper as it thrusts relentlessly, each grunt pounding your cunt harder than the last. Pain and pleasure collide, your body betraying your hesitation. <br>Cum rushes hot, thick, helplessly from your pussy as the beast groans and fills you again.
<br><<set _random to random(1,3)>><<if _random eq 1>><img src="images/Sex/demonpig.jpeg" class="nsfw-glow"><<elseif _random eq 2>><img src="images/Sex/demonpig1.jpeg" class="nsfw-glow"><<elseif _random eq 3>><img src="images/Sex/demonpig2.jpeg" class="nsfw-glow"><</if>>
<br>You've been slighlty corrupted by demonic energy!
<br>
<br><<link "Leave" $passage>><<set $demon_pig_encountered to 1>><<set $demon_pig_result to "appease">><<set $exp += random(50,150)>><<set $baseluck += 1>><<set $corruption += 3>><<set $health -= 0.1*$basemaxhealth>><<set $PCdemonicreputation += random(1,3)>><<set $sexFame += random(1,3)>> <</link>> <</nobr>>
<</if>>
<</if>>
<<elseif $pe eq 1>>
<<nobr>>
<br>The pig charges with astonishing speed. Its tusks gleam with malevolent energy, and you clash, qi against brute muscle.
<br>Victory smells of sweat, blood… and sizzling pork. <br>Demon pig run away, badly wounded.
<br>
<br>You've gained some experience!
<br><<link "Leave" $passage>><<set $demon_pig_encountered to 1>><<set $demon_pig_result to "fight">><<set $exp += random(100,300)>><<set $baseluck += 1>><<set $health -= 0.1*$basemaxhealth>> <</link>><</nobr>>
<<elseif $pe eq 2>>
<<nobr>>
<br>You offer a steamed bun with shaking hands.
<br>The pig snorts, eyes bright, and devours it. Its gaze softens for a moment, then it grunts, stepping aside.
<br>You've gained some insight!
<br><<link "Leave" $passage>><<set $demon_pig_encountered to 1>><<set $demon_pig_result to "food">><<set $exp += random(50,150)>><<set $baseluck += 1>><<set $baseinsight += 1>><</link>><</nobr>>
<<elseif $pe eq 3>>
<<nobr>>
<br>The pig stands before you, towering and impossibly muscular, its nostrils flaring as it studies you like prey.
A guttural growl rumbles from deep within its chest. You step back instinctively, but the beast’s sheer weight and speed leave no room for evasion. Its hands close around your shoulders, shoving you forward.
<br>
<br>You stumble onto your hands and knees, the cold, damp forest floor pressing against your skin. The pig looms behind, tusks glinting, eyes burning with unrestrained hunger. Your protests are muffled by the raw force of its dominance; every movement it makes is deliberate, claiming, powerful.
<br>
<br>Before you can react, it presses its thick, muscled body against yours. Your legs wobble, trapped. Its snout nuzzles your neck, hot breath brushing your ear, and you feel it press its massive cock against your cunt.
<<linkreplace "Continue">>
<<set _random to random(1,3)>><<if _random eq 1>><img src="images/Sex/demonpig.jpeg" class="nsfw-glow"><<elseif _random eq 2>><img src="images/Sex/demonpig1.jpeg" class="nsfw-glow"><<elseif _random eq 3>><img src="images/Sex/demonpig2.jpeg" class="nsfw-glow"><</if>>
<br>Hands-calloused, strong, impossible-grip your hips, shoving you onto all fours. You gasp, but it doesn’t stop. Each thrust drags your pussy across the dirt, every grunt from the beast vibrating through your cunt. You try to pull away, but its hold is relentless.
<br>Its rutting grows rougher, tusks grazing your shoulders, cock pounding your cunt with brutal force. You whimper, shiver, cry out, and hate how your cunt clenches around it anyway, soaking the earth.
<br>You are pushed into the ground, your back arching as it drives deep and fast. Its cum hits your cunt hard, thick and hot, leaving you trembling, soaked, gasping. Your own climax tears through you, helpless, overwhelmed, cunt quivering as it empties itself inside you.
<br>The Demon Pig finally steps back, snorting, leaving you bruised, sticky, cunt sore, trembling on the dirt. Humiliation mixes with heat as you clutch your ruined clothes and your quivering pussy, heart racing from the force of it.
<br>You've been slighlty corrupted by demonic energy!
<br>
<<if $virginity eq 1>>
<<set $virginity = 0>>
<<set $virginityLost = "Demon Pig">>
<span class="red">You lost your virginity to $virginityLost!</span>
<</if>>
<br><<link "Leave" $passage>><<set $demon_pig_encountered to 1>><<set $demon_pig_result to "appease">><<set $exp += random(50,150)>><<set $baseluck += 1>><<set $corruption += 3>><<set $health -= 0.1*$basemaxhealth>><<set $PCdemonicreputation += random(1,3)>><<set $sexFame += random(1,3)>> <</link>> <</linkreplace>><</nobr>>
<</if>>
<<elseif $regioneventid eq "05">>
<<if $pe eq 0>>
<!-- Nine-Tailed Fox Illusion-->
[[Approach her->NormalEvents][$pe=1]]
[[Observe silently ->NormalEvents][$pe=2]]
[[Dispel the illusion ->NormalEvents][$pe=3]]
<<elseif $pe eq 1>>
Her song is heartbreak and longing. As you draw near, the world blurs. If luck favors you, you awaken with her blessing. If not... time slips from your grasp like mist.
<<link "Leave" $passage>><</link>>
<<elseif $pe eq 2>>
You hide, watching her dance in the mist. The illusions swirl, but your gaze stays true. Your mind steels itself against temptation. Insight dawns within.
<<link "Leave" $passage>><</link>>
<<elseif $pe eq 3>>
With a burst of qi, the mirage shatters. The woman fades like smoke. In her place lies a herb pulsing with residual enchantment.
<<link "Leave" $passage>><</link>>
<</if>>
<<elseif $regioneventid eq "06">>
<<if $pe eq 0>>
<!-- The Broken Bell Tower-->
At the edge of a forgotten temple stands a tower of splintered wood and rusted bronze.
The wind sighs through the cracks, and with every gust, the great bell groans-a ghost of a tone that once commanded armies of faith.
Carved on the foundation are the words: <b>"Let the faithful awaken; let the unworthy tremble."* </b>
Dust dances in the half-light. You feel the weight of countless forgotten prayers pressing on your chest.
[[Ring the bell->NormalEvents][$pe=1]]
[[Climb the tower ->NormalEvents][$pe=2]]
<<link "Leave silently" $passage>><</link>>\
<<elseif $pe eq 1>> <!-- Ring the bell -->
You grip the old rope. The bell groans as you pull-its hollow note vibrates through your bones, stirring echoes of ancient voices.
A shimmer spreads from the ground, coalescing into the shape of a spectral monk. His lips move, but no sound escapes-only the resonance of peace.
He bows once, and the air calms. Where he stood, a faint crystal hums with rhythm and clarity.
<<AddItemToInventory $brightmeridiancrystal>>
<<set $baseinsight += 1>>
<<set $PCrighteousreputation += 1>>
<<link "Step away from the tower" $passage>><</link>>
<<elseif $pe eq 2>> <!-- Climb the tower -->
You climb carefully; the wooden steps creak beneath your weight. Dust swirls in the dim light filtering through broken beams.
At the top, the bell’s fracture gleams faintly under moonlight. Beneath it lies a set of folded prayer scrolls and a small pouch, sealed with dried wax.
Inside is a pinch of fine, silvery dust that glows when exposed to your breath- Meditation Dust, used by ancient cultivators to focus during breakthroughs.
<<AddItemToInventory $meditationdust>>
<<set $basewillpower += 1>>
<<link "Descend quietly" $passage>><</link>>
<</if>>
<<elseif $regioneventid eq "07">>
<<if $pe eq 0>>
<!-- The Snake and the Egg-->
Deep in the marshlands, fog swirls over black water. A low hiss cuts through the reeds.
A colossal serpent coils protectively around a single, pulsing egg-its scales shimmer like living jade, its eyes bright with wary intelligence.
Each breath it takes steams the air. You feel a flicker of ancient qi-this creature is not merely a beast, but a guardian.
[[Approach the serpent peacefully->NormalEvents][$pe=1]]
[[Attempt to steal the egg->NormalEvents][$pe=2]]
[[Watch from afar ->NormalEvents][$pe=3]]
<<link "Leave silently" $passage>><</link>>\
<<elseif $pe eq 1>> <!-- Peaceful approach -->
You kneel and channel calm qi through your palms, lowering your head.
The serpent watches you closely, muscles tensed to strike-then relaxes slightly as your aura harmonizes with its own.
It flicks its tongue, tasting your sincerity. A low hum vibrates through the marsh, and it sheds a single scale before slithering away into the mist.
<<AddItemToInventory $serpentpulsesalve>>
<<set $baseinsight += 1>>
<<set $PCrighteousreputation += 1>>
<<link "Leave the marsh" $passage>><</link>>
<<elseif $pe eq 2>><!-- Attempt to steal the egg -->
You dart forward, qi blazing, fingers closing around the slick shell-only for the serpent’s roar to split the silence.
It lashes out, and you barely raise your defense. Fangs graze your arm; venom sears your veins.
You manage to escape with the egg-but at a cost.
<<AddItemToInventory $serpentpulsesalve>>
<<set $health -= 0.15*$basemaxhealth>>
<<set $PCdemonicreputation += 1>>
<<link "Retreat, clutching your prize" $passage>><</link>>
<<elseif $pe eq 3>>
You linger in the shadows, studying the serpent’s breathing pattern and the subtle pulse of the egg.
Something ancient hums here-a rhythm of life and tribulation. You absorb what you can of its qi pattern before leaving, wiser but untouched.
<<set $baseinsight += 1>>
<<set $exp += random(10,150)>>
<<link "Withdraw from the marsh" $passage>><</link>>
<</if>>
<!-- Wounded Cultivator-->
<<elseif $regioneventid eq "08">>
<<if $pe eq 0>>
<<CreateNPC001>>
A wounded cultivator lies slumped against a tree, blood seeping between his fingers as he clutches his side. His breath is shallow, his robes torn, but his eyes flicker open when you approach.
<<set $currentSceneNPC to clone(_npc)>>
[[Go closer->NormalEvents][$pe=1]]
<<link "Leave" $passage>><</link>>
<<elseif $pe eq 1>>
You step closer, the smell of iron thick in the air. The cultivator’s lips twitch into a faint smile despite his injuries.
<span class="male">"C…Cultivator… help me,"</span> he whispers. His voice is hoarse, but there’s strength hidden beneath it.
<<linkreplace "Treat his wounds" "NormalEvents" >>
You kneel beside him, channeling a thread of spiritual energy into his wounds. The torn flesh knits slowly; his breathing steadies. He groans, body trembling under your touch.
<<set _lewdchance = random(1,100)>>
<<if _lewdchance <= 50>>
<span class="male">"You saved me,"</span> he murmurs, eyes closing for a moment in relief. <span class="male">"I won’t forget this debt."</span>
[[Continue->NormalEvents][$pe=3]]
<<else>>
His lips curve into a sly grin, even as the pain fades. <span class="male">"Such soft hands… it feels good when you touch me like that."</span> His eyes roam over your figure, shameless even in his weakened state.
The wounded cultivator leans closer, his hand brushing your wrist. <span class="male">"Stay a little longer,"</span> he whispers. <span class="male">"Let me repay your kindness… in another way."</span>
Despite his condition, his intent is clear: his other hand has already slipped lower, fingers grazing the bulge beneath his robes.
[[Scold him->NormalEvents][$pe=3]]
<<if $corruption gte 0>>[[Accept his offer->NormalEvents][$pe=2]]<</if>>
<</if>>
<</linkreplace>>
<<elseif $pe eq 2>>
You wrap your hand around his cock, surprised at the heat of him despite his injuries. Thick and heavy, it twitches against your palm as though his lust is stronger than his pain.
The cultivator exhales sharply, his back hitting the rough bark of the tree. <span class="male">"Nnh-your hands… softer than silk,"</span> he groans, his voice trembling between exhaustion and desire. His hips roll weakly, urging you to stroke him harder.
You start slow, dragging your palm along his shaft, feeling every vein pulse beneath your fingers. His cock grows harder with each stroke, precum beading at the tip and smearing slick trails across your knuckles. His hand shoots out, gripping your thigh as if to anchor himself in the haze of pleasure.
<span class="male">"Faster,"</span> he begs, panting. <span class="male">"Make me forget the pain…"</span>
You tighten your grip, sliding your hand up and down, wrist twisting just enough to make him buck against you. His cock jerks in your fist, leaking more with each motion, the smell of arousal thick in the cool forest air. His groans rise in pitch, echoing faintly through the trees.
<span class="male">"Spirits… you’re draining me more than any battle,"</span> he mutters, his head rolling back. He tries to keep his composure, but each ragged gasp betrays his growing desperation.
You milk him faster, your strokes firm and unrelenting until his whole body trembles. His cock pulses violently in your hand, and with a guttural moan he finally spills, hot streams of cum painting across his torn robes and dripping down his abdomen.
He slumps back, sweat-damp hair clinging to his forehead. His chest rises and falls as he catches his breath, but even spent, a crooked grin spreads across his lips.
<span class="male">"You… hah… you’ve healed me and left me undone in another way. I won’t forget the feel of those hands… ever."</span>
<<set $currentSceneNPC.hadSex to 1>>
<<set $corruption +=2>>
<<set $sexFame +=random(3,6)>>
<<link "Continue" "NormalEvents">><<set $pe to 3>><</link>>
<<elseif $pe eq 3>>
<<set _npc to $currentSceneNPC>>
The cultivator wipes his mouth, steadying himself. His gaze lingers on you.
He bows his head slightly. <span class="male">"You have my thanks. If fate allows, we will meet again."</span>
<<link "Remember him" $passage>><<run $known_npc_list.push(_npc)>><</link>>
<<link "Forget him" $passage>><</link>>
<</if>>
<!-- Drunk Wanderer Event -->
<<elseif $regioneventid eq "09">>
<<if $pe eq 0>>
A red-faced mortal stumbles down the road, clutching a cracked jug of wine. His steps sway dangerously, and when he notices you, his lips split into a lopsided grin.
<span class="male">"Ahh… a beauty on the road! Come, come-drink with me, share my warmth!"</span> His words slur, and his free hand already reaches out toward you.
<<if $EventAction eq null>>
<<link "Indulge him and drink" "NormalEvents">><<set $EventAction to "drink">><</link>>
<<link "Ignore him and walk past" "NormalEvents">><<set $EventAction to "ignore">><</link>>
<<link "Mock him in front of others" "NormalEvents">><<set $EventAction to "mock">><</link>>
<<link "Push him away harshly" "NormalEvents">><<set $EventAction to "push">><</link>>
<<if $corruption gte 5>><<link "Let him touch you" "NormalEvents">><<set $pe to 1>><<set $EventAction to "touch">><</link>><</if>>
<<elseif $EventAction eq "drink">>
You accept the jug. The wine is cheap and burns your throat, but the man laughs loudly, slapping his knee.
<span class="male">"Hah! You’re better company than those village nags. Cultivator or not, you’ve got spirit!"</span>
He soon stumbles off, humming a broken tune.
<<link "Continue with your journey" $passage>><<set $EventAction to null>><</link>>
<<elseif $EventAction eq "ignore">>
You step past without a word. He curses weakly behind you, but he’s too drunk to follow.
<<link "Continue with your journey" $passage>><<set $EventAction to null>><</link>>
<<elseif $EventAction eq "mock">>
You smirk and say loudly, <span class="player">"Careful, old man, before you drown yourself in piss instead of wine."</span>
<<link "Continue with your journey" $passage>><<set $EventAction to null>><</link>>
Nearby mortals laugh cruelly. The wanderer’s face reddens with shame.
<<elseif $EventAction eq "push">>
He staggers closer, but you shove him hard. He falls on his ass in the dirt, clutching his wine like it’s his child.
<span class="male">"Ungrateful witch!"</span> he slurs, spitting on the ground.
<<link "Continue with your journey" $passage>><<set $EventAction to null>><</link>>
<</if>>
<<elseif $pe eq 1>>
You don’t stop him when his hand grazes your waist. The drunkard chuckles, pressing closer, his breath hot with wine.
<span class="male">"Such soft skin… hah, a goddess come down to walk with mortals. Let me… taste you."</span>
You allow his rough, wine-stained hands to paw at your body. His palm cups your breast clumsily through your robes, squeezing as if you were nothing more than a tavern wench.
<span class="male">"Heh… so soft… even immortals feel like women in the end…"</span> he mutters, grinding against you.
His cock is already hard under his filthy trousers, straining against the fabric.
Your hand slides down, tugging at his filthy trousers. His cock springs free, thick and already slick at the tip.
The drunk groans in disbelief, <span class="male">"Ahh… gods above… a fairy touching my cock…"</span> His voice trembles between awe and filth.
You stroke him firmly, your fingers curling around his shaft. His hips jerk helplessly, chasing your hand with drunken desperation.
<span class="male">"Faster… don’t stop… ahh, fuck-" </span>
He moans like an animal, seed spilling messily across his own chest and belly. He sags against you, panting and laughing at once.
<span class="male">"Hah… hah… blessed by heaven itself…" </span>
<<link "Continue with your journey" $passage>><<set $EventAction to null>><<set $sexFame += random(1,3)>><<set $PCdemonicreputation += random(1,3)>><<set $corruption += random(1,3)>><</link>>
<</if>>
<!-- Peasant Wedding -->
<<elseif $regioneventid eq "10">>
<<if $pe eq 0>>
Lanterns swing gently from wooden poles, their glow casting warm light over a village square.
Laughter and music fill the night: a peasant wedding feast in full swing. Red banners ripple in the evening wind, and mortals cheer with joy around simple wooden tables.
Several eyes turn toward you as you approach-the cut of your robes, the aura of Qi around you. A cultivator is no common guest here.
<<link "Approach the feast" "NormalEvents">><<set $pe to 1>><</link>>
<<link "Leave" $passage>><</link>>
<<elseif $pe eq 1>>
A long wooden table is crowded with steaming dishes and rice wine. The villagers bow deeply, making space for you.
An elder bows low.
<span class="male">"Immortal, your presence blesses this humble union. Please, share our feast."</span>
<<link "Join them politely" "NormalEvents">><<set $pe to 3>><</link>>
<<link "Decline with cold pride" $passage>><</link>>
<<link "Cause trouble" "NormalEvents">><<set $pe to 2>><</link>>
<<elseif $pe eq 2>>
You sneer at their meager offerings. <span class="player">"This wine is weak. These dishes are fit only for pigs."</span>
The crowd trembles; some glare, but none dare speak.
Children cry softly as the elder bows, begging you not to ruin the day.
<<link "Continue with your journey" $passage>><<set $PCdemonicreputation +=random(1,3)>><</link>>
<<elseif $pe eq 3>>
You sit among them. The mortals pour rice wine into your cup with shaking hands, watching your every movement.
Children sneak glances at you, as if staring too long might blind them.
<<set _nsfwchance = random(1,100)>>
The feast drags into the night, laughter mixing with the crackle of torches.
<<linkreplace "Offer a gift to the couple" "NormalEvents">>
<<set $PCrighteousreputation += random(1,3)>>
You produce a small pouch of spirit stones and set it before the elder. The crowd gasps.
<span class="player"> "Blessings upon your union,"</span> you intone.
Your magnanimity will be remembered.
<</linkreplace>>
<<linkreplace "Stay silent, enjoy food" "NormalEvents">>
The wedding fades behind you as you step back onto the road. Mortals return to their joy, unaware-or willfully blind-to what transpired beneath the moonlight.
<<link "Continue with your journey" $passage>><</link>>
<</linkreplace>>
<<if _nsfwchance <= 40>>
<<link "Later in the night…" "NormalEvents">><<set $pe to 4>><</link>>
<</if>>
<<elseif $pe eq 4>>
<<set _brideorgroom = random(1,2)>>
<<if _brideorgroom == 1>>
<!-- Bride variant -->
The young bride, cheeks flushed from too much wine, grasps your sleeve.
Her wedding veil hangs loose, eyes glazed but yearning.
<span class="female">"Immortal… before I give myself to a mortal man, grant me a blessing. Let me taste divinity, if only once…"</span>
<<link "Indulge her" "NormalEvents">><<set $pe to 5>><</link>>
[[Gently refuse->$passage]]
<<else>>
The groom, staggering and drunk, collapses to his knees before you.
His eyes are wild with awe and wine.
<span class="male">"Great one…! Share your power with me tonight-let me *truly* honor this marriage bed." </span>
<<link "Indulge him" "NormalEvents">><<set $pe to 6>><</link>>
[[Shove him aside->$passage]]
<</if>>
<<elseif $pe eq 5>>
With a swift movement, you push her gently onto the soft grass behind the feast hall. Lantern light flickers across her face, wide eyes, lips parted, breath hitching.
<span class="player">"On your knees,"</span> you order, your hand gripping her hair lightly, tilting her head toward your waiting fingers.
She obeys immediately, hands clutching your thighs, eyes locked on yours as you slowly slide a finger into her wet cunt, teasing her. She gasps, shivering as your finger probes deeper.
<span class="player">"Gods… you’re so tight… my little mortal slut,"</span> you murmur, circling her clit with your thumb, watching her moan.
Her hands slide over your robes, tugging at them, desperate to feel your skin. You press your palm against her mouth, smirking.
<span class="player">"No touching yet… you’ll learn to obey,"</span> you whisper, thrusting two fingers inside her cunt. She moans loudly, hips jerking toward you.
<<linkreplace "Continue">>
<img src="images/Sex/lesbian.png" class="nsfw-glow">
<span class="female">"Yes… yes, Mistress… please…",</span> she gasps, voice trembling. You push her onto her back, straddling her, grinding your cunt against hers. She bites her lip, whimpering as your wet pussy presses into hers.
You lean down, gripping her chin, forcing her eyes to meet yours.
<span class="player">"You’re mine tonight," </span> you growl, slipping a finger into her mouth while thrusting against her with your pussy. She sucks greedily, trying to taste the nectar of your arousal.
Her hands roam over your hips and breasts, tugging, kneading, desperate for more. You push her wrists above her head, smirking at her helplessness.
<span class="player">"Beg me to fuck you with my fingers… beg for it, slut,"</span> you demand. She gasps, trembling,
<span class="female">"Please… fuck me… make me cum, Mistress…"</span>
You plunge your fingers into her cunt, curling them expertly, watching her shudder, hips bucking. Her juices mix with yours, slick and dripping, painting the grass beneath you.
<span class="player">"Cum for me, little mortal… cum all over my fingers,"</span> you command. Her back arches, scream muffled against your hand, body trembling as she spills her first orgasm.
Not done yet, you grind your wet pussy against hers again, pressing her face into your chest, forcing her to taste your arousal. She moans around your nipple, writhing under your control.
<<link "Continue with your journey!" $passage>><<set $sexFame +=random(1,5)>><<set $PCdemonicreputation += random(1,4)>><<set $corruption +=random(1,3)>><</link>>
<</linkreplace>>
<!-- Groom variant -->
<<elseif $pe eq 6>>
The groom’s eyes blaze with drunken lust as he shoves you against the side of the tavern wall. His hands grip your shoulders, forcing you to look at him.
<span class="male">"I’m going to taste you… you’re mine tonight, immortal,"</span> he growls, fingers digging into your arms.
You try to pull away, but he shoves your robes open, exposing your soft, pale skin. His cock throbs visibly through his trousers, slick with arousal.
<span class="male">"Beg me… beg me to fuck your cunt,"</span> he snarls, shoving you down onto your knees.
<img src="images/Sex/sideBlowjob.png" class="nsfw-glow">
Your breath catches, cheeks flushing, and your fingers clutch at his belt. His hands shove your head down toward his cock. You swallow around it, trembling as his length presses against your lips, hot and heavy.
<span class="male">"Lick it, whore… show me you’re worthy,"</span> he growls.
You obey, lips sliding down his cock as he groans, gripping your hair roughly. The taste of sweat and wine mixes with his pre-cum, slicking your lips and dripping onto your tongue. Every suck, every lick draws a sharp, guttural groan from him, and he thrusts into your mouth, forcing you deeper.
<<linkreplace "Continue">>
<span class="male">"Goddamn… your little cunt is going to taste every drop of my cum,"</span> he snarls, jerking his cock violently in your throat. You gag, choke, and moan around him, the sound lost under his heavy breathing.
<img src="images/Sex/pb.png" class="nsfw-glow">
He shoves you onto the floor, straddling your chest roughly. His cock presses against your pussy, wet and needy. He thrusts hard, groaning as your cunt spreads around him, the tight warmth gripping him.
<span class="male">"So fucking tight… you like being my little slut, don’t you?"</span> he pants.
You whimper, nodding submissively, hands clutching at his arms as he slams into you over and over. His hips smash against yours, cock plunging deep, messy with your slick. You moan and whine, cunt dripping, body trembling under his violent thrusts.
<span class="male">"Fuck… cum for me, cunt… I’ll fill you with my sperm,"</span> he growls, grabbing your hair and forcing your head back as he shoves his cock in deeper. His hands roam over your body, pinching your nipples, squeezing your ass, leaving bruises as he fucks you ruthlessly.
Your body shakes, pussy clenching around him, and you cry out as your orgasm hits, slick spilling down your thighs. He doesn’t let up, fucking you through your climax, shoving his cum deep into your cunt until you’re nothing but a messy, trembling heap under him.
Finally spent, he collapses atop you, breathing heavily, sweat mixing with your own. Your hair is mussed, robes torn, cunt soaked with his cum.
<<if $virginity eq 1>>
<<set $virginity = 0>>
<<set $virginityLost = "random groom">>
<span class="red">You lost your virginity to $virginityLost!</span>
<</if>>
<<link "Continue with your journey!" $passage>><<set $sexFame +=random(1,5)>><<set $PCdemonicreputation += random(1,4)>><<set $corruption +=random(1,3)>><</link>>
<</linkreplace>>
<</if>>
<</if>><<set $playername to "Ziyan">>
<<set $playersurname to "Bai">>
Welcome in <b><i>The Destined to Ascend</i></b>!
To begin, first select difficulty, then click 'Continue'.
<table class="stat-table">\
<tr>\
<th>Easy</th>
<th>Normal</th>
<th>Hard</th>
</tr>
<tr>
<td>
<b>🌍World</b>: Qi: High, Herb: High, Ore: High, Price: Low
<b>🧍♂️Character</b>: Initial stats: 150%, Higher grade of nature, ressurection stones = 9
<b>👹Monsters</b>: Monster HP: 75%, Monster damage: 75%, Monster ammount: Less frequent
<<link "Choose this difficulty" "Opening and Name">><<set $difficulty to "easy">><</link>>
</td>
<td>
<b>🌍World</b>: Qi: Normal, Herb: Normal, Ore: Normal, Price: Normal
<b>🧍♂️Character</b>: Initial stats: 100%, Standard grade of nature, ressurection stones = 6
<b>👹Monsters</b>: Monster HP: 100%, Monster damage: 100%, Monster ammount: Standard
<<link "Choose this difficulty" "Opening and Name">><<set $difficulty to "normal">><</link>>
</td>
<td>
<b>🌍World</b>: Qi: Low, Herb: Low, Ore: Low, Price: High
<b>🧍♂️Character</b>: Initial stats: 75%, Standard grade of nature, ressurection stones = 3
<b>👹Monsters</b>: Monster HP: 125%, Monster damage: 125%, Monster ammount: More frequent
<<link "Choose this difficulty" "Opening and Name">><<set $difficulty to "hard">><</link>>
</td>
</tr>
</table>
<<if $difficulty eq null>>Please select difficulty to continue.<<else>> Selected difficulty: <b>$difficulty</b>. <<link "Continue?" "Character Creation">><</link>><</if>><<set $playeriteminventory to []>>
<<set $playerpotioninventory to []>>
<<set $playerspecialskill to []>>
<<set $playerpassiveskill to []>>
<<set $playerattackskill to []>>
<<set $knownRecipes = []>>
<<set $pcsidemissions = []>>
<<set $craft = false>>
<<set $spiritpavilion to 0>>
<<set $realmIndexMap = {
"Body Tempering Realm": 0,
"Meridian Awakening Realm": 1,
"Foundation Establishment Realm": 2,
"Core Formation Realm": 3,
"Nascent Soul Realm": 4
}>>
<<set $stageIndexMap = {
"Early": 0,
"Middle": 1,
"Late": 2
}>>
<<set $realmIndex = $realmIndexMap[$cultivationRealm]>>
<<set $stageIndex = $stageIndexMap[$cultivationStage]>>
<<set $requiredExp = 1000 * (1 + $realmIndex) * (1 + $stageIndex)>>
<<set $relationPage to 1>>
/* ITEMS */
/* ==================== OUTER ROBES ==================== */
<<set $simplerobes to {
name: "Simple Robes",
description: "Plain yet comfortable robes woven from spirit cotton. Light and easy to move in.",
stats: { agility: 1, willpower: 1, armor: 3 },
price: 80,
sellprice: 20,
class: "robe",
durability: 100,
maxDurability: 100,
corruptionLock: 0
}>>
<<set $travelerscloak to {
name: "Traveler's Cloak",
description: "A sturdy hooded cloak that shields against wind and minor qi fluctuations.",
stats: { willpower: 2, armor: 4 },
price: 150,
sellprice: 35,
class: "robe",
durability: 120,
maxDurability: 120,
corruptionLock: 0
}>>
<<set $cloudsilkgown to {
name: "Cloud-Silk Gown",
description: "Light as mist, this flowing gown allows qi to circulate freely through the body.",
stats: { agility: 2, willpower: 3, armor: 3 },
price: 320,
sellprice: 80,
class: "robe",
durability: 90,
maxDurability: 90,
corruptionLock: 0
}>>
<<set $phoenixfeatherrobe to {
name: "Phoenix Feather Robe",
description: "Soft crimson feathers shimmer faintly. Grants minor resistance to fire qi.",
stats: { strength: 1, agility: 1, willpower: 4, armor: 5 },
price: 680,
sellprice: 170,
class: "robe",
durability: 110,
maxDurability: 110,
corruptionLock: 0
}>>
<<set $nakedState to {
name: "Naked State",
description: "No robes or protection - bare skin exposed to the elements and prying eyes. A bold choice for the corrupted.",
stats: {},
price: 0,
sellprice: 0,
class: "naked",
corruptionLock: 95,
equipped: false,
durability: 0,
maxDurability: 0
}>>
/* ==================== UNDERWEAR ==================== */
<<set $silkunderrobe to {
name: "Silk Underrobe",
description: "Smooth silk worn beneath outer robes. Simple and comfortable.",
stats: { healthRecovery: 0.02 }, /* +2% health recovery */
price: 50,
sellprice: 10,
class: "underwear",
corruptionLock: 0
}>>
<<set $jadelotuslingerie to {
name: "Jade Lotus Lingerie",
description: "Delicate jade-green silk embroidered with tiny lotuses. Enhances yin essence flow and allure.",
stats: { agility: 1, charisma: 3 },
price: 280,
sellprice: 70,
class: "underwear",
lewd: true,
corruptionLock: 0
}>>
<<set $crimsonphoenixpanties to {
name: "Crimson Phoenix Panties",
description: "Fiery red silk that warms the lower dantian. Increases sensitivity and agility.",
stats: { agility: 2, pleasureBonus: 5 },
price: 220,
sellprice: 55,
class: "underwear",
lewd: true,
corruptionLock: 0
}>>
<<set $moonlightveil to {
name: "Moonlight Veil Underwear",
description: "Nearly transparent silver threads. Calms the mind and boosts willpower during intimate moments.",
stats: { willpower: 3 },
price: 350,
sellprice: 85,
class: "underwear",
lewd: true,
corruptionLock: 0
}>>
<<set $noUnderwear to {
name: "No Underwear",
description: "Wearing robes without undergarments - a daring and slightly indecent freedom that stirs dark desires.",
stats: {},
price: 0,
sellprice: 0,
class: "underwear",
corruptionLock: 45,
equipped: false,
durability: 0,
maxDurability: 0
}>>
/* ==================== ACCESSORIES ==================== */
<<set $jadehairpin to {
name: "Jade Hairpin",
description: "A simple jade hairpin that keeps stray thoughts at bay.",
stats: { willpower: 2, insight: 1 },
price: 120,
sellprice: 30,
class: "accessory"
}>>
<<set $spiritbellanklet to {
name: "Spirit Bell Anklet",
description: "Tiny silver bells chime softly with every step, sharpening footwork.",
stats: { agility: 3 },
price: 180,
sellprice: 45,
class: "accessory"
}>>
<<set $goldenwaistchain to {
name: "Golden Waist Chain",
description: "A delicate chain that rests on the hips. Visible when robes are torn—draws admiring glances.",
stats: { agility: 1, willpower: 1, armor: 1, charisma: 3 },
price: 250,
sellprice: 60,
class: "accessory",
lewd: true
}>>
<<set $phoenixtearnecklace to {
name: "Phoenix Tear Necklace",
description: "A single glowing tear said to contain phoenix essence. Greatly strengthens resolve.",
stats: { willpower: 4 },
price: 400,
sellprice: 100,
class: "accessory"
}>>
<<set $silkstockings to {
name: "Silk Stockings",
description: "Sheer black silk that clings to the legs.",
stats: { agility: 2, charisma: 4 },
price: 300,
sellprice: 75,
class: "accessory",
lewd: true
}>>
/* ==================== WEAPONS ==================== */
<<set $ironspiritsword to {
name: "Iron Spirit Sword",
description: "A reliable sword forged from spirit iron. Balanced and easy to wield.",
stats: { atk: 6 },
price: 200,
sellprice: 50,
class: "weapon"
}>>
<<set $crimsonlotussword to {
name: "Crimson Lotus Sword",
description: "Elegant blade with a crimson edge. Leaves trails of fiery lotus petals when swung.",
stats: { atk: 10, crit: 3 },
price: 450,
sellprice: 110,
class: "weapon"
}>>
<<set $jadewhip to {
name: "Jade Serpent Whip",
description: "Flexible whip carved from spirit jade. Perfect for binding foes—or playful teasing.",
stats: { atk: 8, agility: 4 },
price: 380,
sellprice: 95,
class: "weapon",
lewd: true
}>>
/* ==================== WEAPONS ==================== */
<<set $ironspiritsword to {"name": "Iron Spirit Sword","strength": 0, "agility": 0, "willpower": 0, "armor": 0, "price": 200, "sellprice": 50, "class": "weapon", "ability": 0, "description": "A reliable sword forged from spirit iron. Balanced and easy to wield.", "stats": {"atk": 15}}>>
<<set $crimsonlotussword to {"name": "Crimson Lotus Sword","strength": 0, "agility": 0, "willpower": 0, "armor": 0, "price": 450, "sellprice": 110, "class": "weapon", "ability": 0, "description": "Elegant blade with a crimson edge. Leaves trails of fiery lotus petals when swung.", "stats": {"atk": 25, "crit": 8}}>>
<<set $jadewhip to {"name": "Jade Serpent Whip","strength": 0, "agility": 0, "willpower": 0, "armor": 0, "price": 380, "sellprice": 95, "class": "weapon", "ability": 0, "description": "Flexible whip carved from spirit jade. Perfect for binding foes—or playful teasing.", "stats": {"atk": 20, "agility": 10}}>>
<<set $phoenixfan to {"name": "Phoenix Feather Fan","strength": 0, "agility": 0, "willpower": 0, "armor": 0, "price": 520, "sellprice": 130, "class": "weapon", "ability": 0, "description": "A beautiful folding fan made of phoenix feathers. Strikes release waves of scorching qi.", "stats": {"atk": 22, "crit": 12}}>>
/* EQUIPMENT SYSTEM */
<<set $equippedRobe to null>>
<<set $equippedUnderwear to null>>
<<set $equippedWeapon to null>>
<<set $equippedAccessories to [null, null, null]>>
<<set $robeInventory to []>>
<<set $underwearInventory to []>>
<<set $accessoryInventory to []>>
<<set $weaponInventory to []>>
/* ADD STARTER ITEMS */
<<set $robeInventory.push($cloudsilkgown, $nakedState)>>
<<set $underwearInventory.push($silkunderrobe, $noUnderwear)>>
<<set $accessoryInventory.push($jadehairpin, $silkstockings)>>
<<set $weaponInventory.push($ironspiritsword)>>
<<set $equippedRobe to $cloudsilkgown>>
<<set $equippedUnderwear to $silkunderrobe>>
<<set $equippedAccessories[0] to $jadehairpin>>
<<set $equippedAccessories[1] to $silkstockings>>
<<set $equippedWeapon to $ironspiritsword>><<set $strengthboostrecipe1 to {
"name": "Strength Boost Pill (Grade 1)",
"ingredients": {
"Tempered Bone Fragment": 1,
"Blood Hardening Herb": 2
},
"result": $strengthboostpotion1
}>><<set $strengthboostpotion1 to {
"id": "strengthboostpotion1",
"name": "Strength Boost Pill (Grade 1)",
"description": "Temporarily boosts strength. Grade 1 effective up to STR 15.",
"effect": "boostStrength",
"grade": 1,
"maxStatLimit": 15,
"quantity": 1,
"class": "potion",
"price": 150,
"sellprice": 60
}>>
<<set $corruptionelixir to {
"id": "corruptionelixir",
"name": "Heart Demon Nectar",
"description": "Sweet demonic essence that loosens moral restraints and awakens hidden desires. Slightly increases demonic path affinity.",
"effect": "raiseCorruption",
"grade": 2,
"maxStatLimit": 0,
"quantity": 1,
"class": "potion",
"price": 300,
"sellprice": 75
}>>
<<set $succubusbreath to {
"id": "succubusbreath",
"name": "Succubus Breath Mist",
"description": "Inhaled vapors that temporarily heighten charm and make your voice more seductive. Others find it hard to refuse you.",
"effect": "boostCharisma",
"grade": 1,
"maxStatLimit": 20,
"quantity": 1,
"class": "potion",
"price": 250,
"sellprice": 62
}>>
<<set $forbiddenyangseed to {
"id": "forbiddenyangseed",
"name": "Forbidden Yang Seed",
"description": "A single drop of concentrated yang essence. Greatly increases corruption and demonic tendencies over time.",
"effect": "deepCorruption",
"grade": 3,
"maxStatLimit": 0,
"quantity": 1,
"class": "potion",
"price": 500,
"sellprice": 125
}>><<if $pe eq 0>>
<img src="images/Locations/BathHouse.jpg" class=center width=600>
You step beneath the curved archway of the bathhouse, where steam curls lazily from the open roof. The scent of lotus flowers and mineral-rich springs wafts through the air, blending with the warm aroma of aged wood and faint medicinal herbs.
A delicate chime rings above the entrance as you push aside the bamboo curtain. Inside, soft light glows from spirit stones embedded in the walls, casting gentle reflections on the polished stone floor.
<<set _random to random(0,1)>>\
<<if _random eq 0>>\
Behind a low counter sits a slender woman in light crimson robes, a jade ornament pinned to her hair. Her eyes lift to meet yours—measured, slightly amused, and unmistakably aware of your gaze.
<span class="female">"Welcome to the Moonveil Springs, traveler. You look like you’ve carried dust and spirit strain from the road... or a fight."</span>
She gestures toward a lacquered board displaying prices written in flowing calligraphy.
<span class="female">"Private pool: ten spirit stones. Communal bath: three."</span>
<<else>>\
Behind a low wooden counter sits a man in dark, well-fitted robes. His sleeves are loosely rolled up, revealing calloused forearms marked with faint spirit script. A single strand of black hair falls across his sharp eyes as he regards you—calm, calculating, with the faintest hint of a smirk tugging at his lips.
<span class="male">"You’ve got the look of someone who’s fought more than just beasts today."</span>
He leans forward slightly, voice smooth like aged wine.
<span class="male">"Communal bath is three spirit stones. Private spring’s ten."</span>
<</if>>
<<link "Go back" $passage>><<set $pe to 0>><</link>>
<<linkappend "Private Bath">>
<<if $gold gte 10>><<goto "Public Baths">>
<<set $pe to 1>>
<<set $gold -=10>>
<<else>>You don't have enough spirit stones!<</if>>
<</linkappend>>
<<linkappend "Communal bath">>
<<if $corruption gt 10 and $gold gte 3>><<goto "Public Baths">><<set $pe=10>><<elseif $corruption gt 10 and $gold lt 3>>You don't have enough spirit stones!<<elseif $corruption lte 10>><span class="player">What am I even thinking?</span><</if>>
<</linkappend>>
<<elseif $pe eq 1>>
The attendant leads you to a side corridor and slides open a paper door carved with phoenix patterns.
Inside, the private spring glows faintly from embedded spirit stones. Mist curls around the edges of the stone pool like spirit snakes. The scent of plum blossoms and sandalwood fills the air.
<<linkappend "You’re finally alone.">>
You step onto the smooth stone floor beside the steaming water. The silence is calming. Your fingers trace the knot of the towel at your hip.
<span id="choice1">
<<linkreplace "Gently lower yourself into the water, towel still on.">>
<<replace "#choice2">><</replace>>
<div style="position: relative; width: 70%; height: auto;">
<img src="images/Background/publicbath.jpg" style="width: 100%; display: block;">
<img src="images/Sex/bath.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
You let the warmth soak through the cloth, your body relaxing slowly. The towel floats faintly around you, growing more transparent with every second. A quiet moment of solitude. You close your eyes and breathe in deep.
<span class="healthy">You've recovered part of your health and qi.</span>
<<if $health lt $maxhealth or $energy lt $maxenergy>><<set $health to ($health += $health*0.1)>> <<set $energy to ($energy += $energy*0.1)>><<if $health gte $maxhealth>><<set $health to $maxhealth>><</if>><<if $energy gte $maxenergy>><<set $energy to $maxenergy>><</if>><</if>>
<<link "Finish bathing" "Public Baths">><<set $pe to 0>><</link>>
<</linkreplace>>\
</span>\
\
<span id="choice2">
<<linkreplace "Remove the towel, letting it fall before entering naked.">>\
<<replace "#choice1">><</replace>>\
<div style="position: relative; width: 70%; height: auto;">
<img src="images/Background/publicbath.jpg" style="width: 100%; display: block;"><<set _random=random(0,1)>><<if _random eq 0>>
<img src="images/Sex/nakedbath.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<else>><img src="images/Sex/nakedbath1.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
With a flick of your fingers, the towel slides down your body and falls silently to the floor. The air brushes your bare skin, and the rising steam embraces you like a lover’s breath.
You step into the water, feeling the heat soak into every part of you. Free. At peace.
You settle against the smooth stone edge, letting your arms drape lazily over the rim. Steam clings to your skin in droplets, tracing paths down the gentle curves of your breasts, the dip of your stomach, the soft flesh between your thighs.
<span class="healthy">You've recovered part of your health and qi.</span>
<<link "Finish bathing" "Public Baths">><<set $pe to 0>><</link>>
<<if $health lt $maxhealth or $energy lt $maxenergy>><<set $health to ($health += $health*0.1)>> <<set $energy to ($energy += $energy*0.1)>><<if $health gte $maxhealth>><<set $health to $maxhealth>><</if>><<if $energy gte $maxenergy>><<set $energy to $maxenergy>><</if>><</if>>
<<linkappend "You feel a slow, warm ache between your thighs...">>
<div style="position: relative; width: 70%; height: auto;">
<img src="images/Background/publicbath.jpg" style="width: 100%; display: block;"><<set _random=random(0,1)>>
<img src="images/Sex/masturbation_bath.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
Your fingers drift underwater, trailing along your inner thigh. There’s no one here.
Your hand slides between your legs, parting the folds of your pussy with practiced ease. The water only amplifies the sensation—heat kissing your skin, your clit pulsing softly under your touch.
You circle it slowly, teasing yourself with delicate strokes. Pleasure flutters through your core, subtle at first… but growing. You tilt your head back, lips parting with a quiet sigh as you press in deeper.
Two fingers slip past your entrance, spreading your slick folds beneath the surface. You curl them slightly inside yourself, your breath catching as you hit just the right spot. The soft slap of water echoes faintly with every motion of your hips. The rhythm builds—slow, wet, steady.
Your free hand cups your breast, thumb brushing across a hardened nipple. You moan this time—quiet but unashamed. The sound disappears into the steam, claimed by the silence of the room.
Each thrust of your fingers drives the heat higher. Your clit throbs beneath your touch, swollen and needy, aching for release. You rub it faster now, your thighs tensing around your hand.
Pressure coils inside you—tight, hot, irresistible. The peak rushes toward you like qi flooding a meridian.
And then—
You come with a soft cry, legs trembling in the water, pleasure tearing through you like a quiet storm. Your back arches, your walls clenching greedily around your fingers as wave after wave crashes through your body.
You collapse back against the stone, chest rising and falling, fingers still lazily nestled between your thighs.
The water calms again, rippling gently as if it too is catching its breath.
<<link "Finish bathing" "Public Baths">><<set $pe to 0>><<if $corruption lt 15>><<set $corruption +=1>><</if>><</link>>
<</linkappend>>
<</linkreplace>>\
</span>\
<</linkappend>>
<<elseif $pe eq 10>>
You step into the steamy chamber of the communal bath. The room is filled with the soft murmur of voices, the splash of water, and the scent of heated minerals.
Smooth stone tiles line the hot spring pool, its edges decorated with dragon-shaped spouts that pour steaming water into the crystal-clear basin. A handful of cultivators lounge in the pool—some meditating in silence, others casually conversing in hushed tones.
You feel the warmth wrap around your body through the thin bath towel provided. Moisture clings to your skin already, making it stick slightly. A few glances are thrown your way, subtle and brief… though one lingers.
You approach the water’s edge.
<span id="choice1">
<<linkreplace "Keep the towel on and slide into the water.">>
<<replace "#choice2">><</replace>>
<div style="position: relative; width: 70%; height: auto;">
<img src="images/Background/publicbath.jpg" style="width: 100%; display: block;">
<img src="images/Sex/bath.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
You sink into the warmth slowly, the towel still clinging loosely to your body. It becomes translucent as it soaks, and you catch more than one curious glance from the others. Whether it's respect or something else, it's hard to tell in the rising steam.
<span class="healthy">You've recovered part of your health and qi.</span>
<<if $health lt $maxhealth or $energy lt $maxenergy>><<set $health to ($health += $health*0.1)>> <<set $energy to ($energy += $energy*0.1)>><<if $health gte $maxhealth>><<set $health to $maxhealth>><</if>><<if $energy gte $maxenergy>><<set $energy to $maxenergy>><</if>><</if>>
<<link "Finish bathing" "Public Baths">><<set $pe to 0>><<if $corruption lt 25>><<set $corruption +=1>><</if>><</link>>
<</linkreplace>>\
</span>\
\
<span id="choice2">
<<linkreplace "Let the towel fall and step in naked.">>\
<<replace "#choice1">><</replace>>\
<div style="position: relative; width: 70%; height: auto;">
<img src="images/Background/publicbath.jpg" style="width: 100%; display: block;"><<set _random=random(0,1)>><<if _random eq 0>>
<img src="images/Sex/nakedbath.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<else>><img src="images/Sex/nakedbath1.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
You untie the towel and let it drop to the smooth stone without hesitation. The steam caresses your bare skin as you step confidently into the water. A nearby cultivator—one with a jade pin in her hair—lets her eyes flick to you briefly, then back again.
<span class="female">"Brave or bold,"</span> she murmurs to herself, just loud enough for you to hear.
You settle into the warm waters, letting the steam and heat melt away tension from your limbs. The crystalline surface ripples as you stretch, utterly bare beneath the rising mist. Around you, soft conversations drift in and out like incense smoke, but your mind floats in calm silence.
<span class="healthy">You've recovered part of your health and qi.</span>
<<set _chance = random(0,100)>>
<<if _chance lte 99>>
Until someone joins you.
<img src="images/Sex/bathev.jpg" style="width: 100%">
The water shifts subtly. A figure enters the pool on your left—tall, well-built, his bare torso still glistening from the mist. His face is unfamiliar, but his gaze lingers just a little too long on your body before he speaks.
<span class="male">"Didn’t think I’d find someone so bold in a place like this,"</span>he says, voice smooth like oiled silk, with a smirk that suggests he's no stranger to indulgence.
<span class="male">"Not every day you see someone that comfortable in their skin... but I like it."</span>
He leans in slightly, not close enough to touch, but close enough to make his presence feel intentional.
His tone lowers, just enough to make it feel <i>sensual</i>.
<span class="male">"You look like someone who knows how to... ease tension. How about lending a hand? I’ll make it worth your while."</span>
He shifts beneath the water slightly. From the faint ripples—and the way his eyes lock on yours—you know exactly what he means.
<div id="choice3">
<<if $corruption gt 25>><<link "Accept his offer and reach beneath the water.">>
<<replace "#choice3">>
<<set _randomHJ =random(0,3)>>
<div style="position: relative; width: 70%; height: auto;">
<img src="images/Background/publicbath.jpg" style="width: 100%; display: block;"><<set _random=random(0,1)>><<if _randomHJ eq 0>>
<img src="images/Sex/handjob_bath.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _randomHJ eq 1>><img src="images/Sex/handjob_bath1.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _randomHJ eq 2>><img src="images/Sex/handjob_bath2.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><<elseif _randomHJ eq 3>><img src="images/Sex/handjob_bath3.png" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"><</if>>
</div>
The water around you shifts as you scoot a little closer, letting your knee brush against his beneath the surface. His smirk fades, replaced with a breathless stillness as he watches your hand disappear beneath the steaming surface.
Your fingers glide across the warmth of his thigh—firm, tense—before you wrap them slowly around his cock. Hard. Hot. Already twitching with need beneath the water.
He exhales sharply. <span class="male">“Fuck…”</span>
The sound of it, ragged and low, makes heat coil in your belly.
You stroke him slowly at first, your movements masked by the gentle ripples of the bathwater.
His head tips back slightly, jaw tight, chest rising with sharp breaths.
<span class="male">"Shit—gods, your hand…"</span> he mutters, voice hoarse. <span class="male">"You're better than half the courtesans in Golden Silk Pavilion..."</span>
You smirk, your fingers tightening just slightly, giving him a slow, deliberate pump that earns a low groan from his throat.
Around you, the bathhouse continues—unaware or uncaring of what’s happening just beneath the surface. Maybe someone knows. Maybe they’re watching.
He shifts closer, one hand gripping the edge of the stone, muscles taut.
<span class="male">“Fuck—don’t stop. Just like that...”</span>
Your strokes grow faster, firmer. His cock throbs in your hand, slick now from a mix of precum and water, and you feel him twitch violently as his breath grows uneven.
<span class="male">"I'm gonna—fuck—"</span>
He jerks forward just slightly, and with a soft grunt, he spills into the water—hot spurts lost in the steam, his hips trembling beneath your hand.
You let go slowly, dragging your fingers up his length one last time before retracting your hand, watching the way his chest heaves and his lips part with dazed satisfaction.
He leans in, whispering with a lopsided grin.
<span class="male">“Remind me never to underestimate anyone in this bathhouse again.”</span>
<<link "Finish bathing" "Public Baths">><<set $pe to 0>><<set $sexFame += random(2,4)>><<if $corruption lt 35>><<set $corruption +=1>><</if>><</link>>
<</replace>><</link>><</if>>
<<if $corruption gt 10>><<link "Smirk but only tease him">>
<<replace "#choice3">>
You give him a slow look, deliberately trailing your gaze down his chest.
<span class="player">"You’ll have to try harder than that to earn a touch from me."</span>He chuckles, raising his hands in mock surrender.
<span class="male">"Fair enough. But I’m not giving up just yet."</span>
<<link "Finish bathing" "Public Baths">><<set $sexFame += 1>><<set $pe to 0>><<if $corruption lt 15>><<set $corruption +=1>><</if>><</link>>
<</replace>> <</link>><</if>>
<<link "Politely decline">>
<<replace "#choice3">>
You meet his eyes and offer a calm smile.
<span class="player">"I came here to relax, not to serve."</span>
He raises an eyebrow but nods, backing off without offense.
<span class="male">"Respect. Maybe another time, then."</span>
<<link "Finish bathing" "Public Baths">> <<set $pe to 0>> <</link>>
<</replace>><</link>>
</div>
<<else>>
No one interfered with your relax...
<<link "Finish bathing" "Public Baths">><<set $pe to 0>> <</link>>
<</if>>
<</linkreplace>>\
</span>\
\
\
\
<</if>><<nobr>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img src="images/Story/meditation.png" style="width: 50%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<</nobr>>
You close your eyes and begin circulating your internal energy.
Qi flows through your meridians, washing over blockages and strengthening your foundation.
Minutes pass. Then hours.
As the spiritual energy around you fades, you open your eyes — your cultivation has progressed.
This opportunity is now gone, and the land feels... ordinary again.
<<set _gain to random(50, 250)>>
<<set $exp += _gain>>
You gain <<print _gain>> experience points!
<<return "Return!">><<widget "RichQiPlace_Region1">>
<b>You've stumbled upon a place brimming with rich spiritual energy! The air is thick with qi.</b>
The density of spiritual energy here is extraordinary — a place perfect for cultivation.
Do you want to cultivate?
<<link "Yes" "QiCultivation_Region1">><</link>>
<</widget>>
<<widget "RareHerbs_Region1">>
<b>While traveling, you stumble upon a patch of rare herbs growing beside the path. Their scent is rich, almost intoxicating.</b>
Their subtle fragrance suggests strong medicinal properties.
Do you want to gather them?
<<link "Yes" "RareHerbs_Region1">><</link>>
<</widget>>
<<widget "HerbFinder">>
<<for _i to 0; _i lt $playeriteminventory.length; _i++>>
<
<</for>>
<</widget>><<BackgroundHandler>>
You carefully kneel and begin collecting the herbs, taking care not to damage their roots.
Their scent is invigorating, and you can already imagine the pills or elixirs they might produce.
<<gainRandomItem>>
You've found <<print _item.name>>!
<<return "Go back">><<widget "RegionEvents">>
<<set _random to random(0,9999)>>
<<if _random gte 0 and _random lte 20>>
<!--The Bamboo Grove of Whispers-->
<<set $regioneventid to "01">>
<<goto "NormalEvents">>
<<elseif _random gt 20 and _random lte 40>>
<!-- The Crying Lotus-->
<<set $regioneventid to "02">>
<<goto "NormalEvents">>
<<elseif _random gt 40 and _random lte 60>>
<!-- Drunken Immortal’s Jug-->
<<set $regioneventid to "03">>
<<goto "NormalEvents">>
<<elseif _random gt 40 and _random lte 80>>
<!-- Demon Pig’s Trial-->
<<set $regioneventid to "04">>
<<goto "NormalEvents">>
<<elseif _random gt 80 and _random lte 100>>
<!-- Nine-Tailed Fox Illusion-->
<<set $regioneventid to "05">>
<<goto "NormalEvents">>
<<elseif _random gt 100 and _random lte 120>>
<!-- The Broken Bell Tower-->
<<set $regioneventid to "06">>
<<goto "NormalEvents">>
<<elseif _random gt 120 and _random lte 140>>
<!-- The Snake and the Egg-->
<<set $regioneventid to "07">>
<<goto "NormalEvents">>
<<elseif _random gt 140 and _random lte 280>>
<!-- Wounded cult -->
<<set $regioneventid to "08">>
<<goto "NormalEvents">>
<<elseif _random gt 280 and _random lte 430>>
<!-- Drunk Wanderer -->
<<set $regioneventid to "09">>
<<goto "NormalEvents">>
<<elseif _random gt 430 and _random lte 630>>
<!-- Mortal Weeding -->
<<set $regioneventid to "10">>
<<goto "NormalEvents">>
<<elseif _random gt 630 and _random lte 830>>
<!-- Rare herbs -->
<<set $regioneventid to "11">>
<<goto "RareHerbs_Region1">>
<<elseif _random gt 830 and _random lte 1030>>
<!-- Qi cultivation -->
<<set $regioneventid to "12">>
<<goto "QiCultivation_Region1">>
<</if>>
<</widget>><<widget "MortalRealm">>
<<if $playerX >= 6 && $playerX <= 9 && $playerY >= 6 && $playerY <= 8>> <<set $region to "Hundred Sorrows Mountain">> <p>You ascend the mist-shrouded slopes of <b>Hundred Sorrows Mountain</b>. The air grows heavy with resentment, and each breath tastes like regret. Twisted trees cling to black stone, and the wind carries faint, weeping cries that never seem to stop.</p>
<p>Legends say this place remembers every death that occurred here — and there were many. Vengeful spirits, corrupted beasts, and mad cultivators roam freely, drawn to the sorrowful qi that saturates the soil.</p>
<p>This cursed peak does not forgive mistakes. </p>
<<link "Hunt demonic beasts" "HuntBeasts|Region1">><<set $passage to passage()>>
<<set $region to "Hundred Sorrows Mountain">>
<</link>>
<<elseif $playerX == 2 and $playerY == 12>>
<p>As you crest the final hill, the mist begins to part—revealing the modest yet vibrant town of <b>Jade Creek</b>. Wooden buildings with curved roofs nestle beside a flowing stream, and the faint scent of incense lingers in the air. It may not be a grand city, but it hums with quiet energy and the presence of cultivators.</p>
<<link "Enter town" "Jade Creek Town">>
<<set $region to "Jade Creek Town">>
<</link>>
<<elseif $playerX <= 2 and $playerX >= 1 and $playerY >= 5 and $playerY <= 6>>
<p>Before you stands the <b>Clear Sky Azure Dragon Pavilion</b>. Its high stone walls are etched with ancient calligraphy, and the pavilion’s blue-tiled roofs shimmer faintly under the sunlight, as if resonating with spiritual energy. Disciples in azure robes move with quiet discipline, their presence exuding a calm but formidable aura. This place is both sanctuary and stronghold—a beacon of order in a chaotic world.</p>
<<set $region to "Clear Sky Azure Dragon Pavilion">>
<<link "Enter sect" "ClearSkyAzureDragonPavilion">><</link>>
<<elseif $playerX eq 11 && $playerY eq 8>>
<p>As you approach the far edge of this realm, the world around you shifts. The winds still, the sky dims slightly — and before you stands a shimmering barrier of spiritual force, pulsing faintly like a living thing.</p>
<p>This is the <b>Boundary of Realms</b> — a powerful seal that separates the Lower Realms from what lies beyond: a vast and dangerous world where the true powers reside. It is said that the main branches of the great sects — those with influence stretching across generations — are located past this very barrier.</p>
<p>Beyond it roam cultivators of unimaginable strength, ancient beasts, and lands steeped in primordial energy. The difference in pressure alone makes your qi tremble in your dantian.</p>
<p>A weathered inscription glows softly on a nearby stone: <i>"Only those who have tempered their spirit and transcended the mortal coil may tread the path beyond."</i></p>
<p>For now, the barrier rejects your presence. Your journey in this realm is not yet finished.</p>
<<elseif $playerX >= 0 && $playerX <= 5 && $playerY >= 2 && $playerY <= 3>>
<p>You step into the arid expanse known as <b>Blood Sand Reach</b>. The scorching wind carries the scent of iron, and the sun beats down on dunes stained red — not by mineral, but by centuries of battle.</p>
<p>Whispers tell of rogue cultivators and desert beasts lurking beneath the sands, drawn to the qi of trespassers. This is no place for the unprepared — tread carefully, for death hides in the heat haze.</p><<set $region to "Blood Sand Reach">>
<<link "Hunt demonic beasts" "HuntBeasts|Region1">><<set $passage to passage()>><</link>>
<<elseif $playerX >= 8 && $playerX <= 9 && $playerY >= 2 && $playerY <= 3>>
<p>Arriving at <strong>Northern Phoenix City</strong>, you are greeted by the rhythmic bustle of trade, the scent of incense, and the majestic outline of phoenix-shaped architecture glinting under the sky.</p>
<p>This northern stronghold is a center of commerce and cultivation alike — a meeting place of travelers, wandering cultivators, and the influential sects who hold sway in these lands.</p>
<<set $region to "Northern Phoenix City">>
<<elseif $playerX eq 3 and $playerY eq 9>>
You stumble upon the Lone Mountain.
Rising in solemn silence, this solitary mountain pierces the clouds — untouched, undisturbed. The wind here carries no whispers, only peace. As you step forward, you feel the weight of countless journeys that led you here.
<<link "Enter" "LonePeak">><</link>>
<<elseif $playerX >= 9 && $playerX <= 10 && $playerY >= 11 && $playerY <= 12>>
<p>You've reached the shadowed grounds of the <strong>Ghost King Netherworld Sect</strong> — a feared branch of an even more powerful sect residing deep within the Upper Realms.</p>
<p>The air here is cold and heavy, despite the lack of wind. Black banners flutter from bone-crafted spires, and pale disciples move silently like ghosts, their eyes empty of compassion.</p>
<<link "Enter sect" "GhostKingNetherworldSect">><</link>>
<<set $region to "Ghost King Netherworld Sect">>
<<else>>
<<set $region to "World Map">><<set $npcFinished>>
<</if>>
<</widget>><<nobr>>
<<set _pageSize to 3>>
<<set _page to $relationPage || 1>>
<<set _start to (_page - 1) * _pageSize>>
<<set _end to Math.min(_start + _pageSize, $known_npc_list.length)>>
<<set _displayList to $known_npc_list.slice(_start, _end)>>
<<for _npc range _displayList>>
<<capture _npc>>
<div class="relation-card">
<div class="relation-name">
<<link _npc.fullname "RelationsDetailed">>
<<set $currentNPC to _npc>>
<</link>>
</div>
<div class="relation-info">
<span class="location"><<print _npc.NPClocation>></span><br>
<<RelationshipType>>
</div>
</div>
<</capture>>
<</for>>
<</nobr>><<nobr>>
<<set _pageSize to 3>>
<<set _page to $relationPage || 1>>
<<set _totalPages to Math.ceil($known_npc_list.length / _pageSize)>>
<<if _totalPages > 1>>
<div class="pagination">
<<if _page > 1>>
<<link "« Previous">>
<<set $relationPage to _page - 1>>
<<replace ".relations-grid">><<include "RelationsGrid">><</replace>>
<<replace ".pagination">><<include "RelationsPagination">><</replace>>
<</link>>
<<else>>
<span style="color:#555;">« Previous</span>
<</if>>
<span style="margin:0 20px;">Page <<print _page>> of <<print _totalPages>></span>
<<if _page < _totalPages>>
<<link "Next »">>
<<set $relationPage to _page + 1>>
<<replace ".relations-grid">><<include "RelationsGrid">><</replace>>
<<replace ".pagination">><<include "RelationsPagination">><</replace>>
<</link>>
<<else>>
<span style="color:#555;">Next »</span>
<</if>>
</div>
<</if>>
<</nobr>><<if $pe eq 0>>
You are fighting $currentEnemy.fullname !
<<EnemyImage $currentEnemy.enemyregion $currentEnemy.enemyimage 300>><</EnemyImage>>
<b>General Actions</b>:
<<link "Attack" "SectEntranceBattle1">>
<<set $pe to 1>>
<<set $playeraction = "attack">>
<</link>>
<table class="abilities-table">\
<td>\
<b>Abilities</b>:
<<for _i to 0; _i lt $skillInventory.length; _i++>>\
<<if ($skillInventory[_i].category eq "attack" or $skillInventory[_i].category eq "special") and $skillInventory[_i].isEquipped eq "true">>
<<print $skillInventory[_i].name>> (Energy cost: $skillInventory[_i].energy )\
<<capture _i>>\
<<if $energy lt $skillInventory[_i].energy>><i>Not enough energy</i>
<<else>> <<link "Use" "SectEntranceBattle1">>
<<set $pe = 1>><<set $playeraction = "ability">> <<set $ability = $skillInventory[_i].widgetname>> <<set $abilityenergy = $skillInventory[_i].energy>><<set $energy -= $abilityenergy>> <<set $abilitylevel = $skillInventory[_i].level>> <</link>> <</if>>
<</capture>>\
<</if>>
<</for>>\
</td>\
</table>
<<if $activePassiveSkill != "">>
<<Ability $activePassiveWidget>><</Ability>>
<</if>>
<<EnemyBattleTable>>
<<elseif $pe eq 1>>
<<if $playeraction eq "attack">>You attempt to hit the $currentEnemy.fullname !
<<PlayerAttackAttempt>>
<<if $playeraction = "attack success">>
<<PlayerAttackDamage>>
<<elseif $playeraction eq "attack failure">>
You missed your attack!
<</if>><</if>>
<<EnemyStun>>
<<if $enemyaction eq "attack">>The $currentEnemy.fullname attacks you!
<<EnemyAttackAttempt>>
<<if $enemyaction = "attack success">>
<<EnemyAttackDamage>>
<<elseif $enemyaction eq "attack failure">>
The $currentEnemy.fullname missed their attack!
<</if>><</if>>
<<if $playeraction eq "ability">>
<<Ability $ability>><</Ability>><</if>>
<<if $currentEnemy.NPCcurrenthealth lte 0>>
<<link "The enemy is defeated! Victory!" $returnpassage>><<set $pe = 3>><</link>>
<<elseif $health lte 0>>
<<link "You've lost" $returnpassage>><<set $pe to 3>><</link>><
<<else>>
<<link "Continue battle" $passage>><<set $pe = 0>><</link>>
<</if>>
<</if>><<set $sectItems to []>><<set $activeSideMission to null>>
<<set $SideMissionStatus to null>>
--------------------------------------TOWN SIDE MISSIONS------------------------------
<<set $sidemissions = [
{
"name": "Kill the rogue cultivator",
"reward": random(270, 350),
"description": "Find and eliminate the threat.",
"gainFame": random(1, 10),
"missionCordX": random(0, 12),
"missionCordY": random(0, 10),
"status": "available",
"region": "Region1",
"id": "killRogueCultivator01"
},
{
"name": "Find the herb",
"reward": random(200, 300),
"description": "Retrieve the rare herb from the location.",
"gainFame": random(1, 5),
"missionCordX": random(0, 12),
"missionCordY": random(0, 10),
"status": "available",
"region": "Region1",
"id": "findHerb01"
},
{
"name": "Recover lost scroll",
"reward": random(180, 250),
"description": "A disciple lost an important scroll near the river bend. Retrieve it.",
"gainFame": random(1, 4),
"missionCordX": random(0, 12),
"missionCordY": random(0, 10),
"status": "available",
"region": "Region1",
"id": "recoverScroll01"
},
{
"name": "Slay the demonic beast",
"reward": random(350, 450),
"description": "A powerful beast has emerged near the old shrine. Eliminate it before it spreads chaos.",
"gainFame": random(5, 10),
"missionCordX": random(0, 12),
"missionCordY": random(0, 10),
"status": "available",
"region": "Region1",
"id": "slayDemonicBeast01"
},
{
"name": "Hunt the river serpent",
"reward": random(350, 500),
"description": "A great serpent is terrorizing riverside villages. Slay it.",
"gainFame": random(4, 10),
"missionCordX": random(0, 12),
"missionCordY": random(0, 10),
"status": "available",
"region": "Region1",
"id": "huntRiverSerpent01"
},
{
"name": "Rescue the missing disciple",
"reward": random(280, 360),
"description": "A disciple has gone missing near the Hundred Sorrows Mountain. Find and return them.",
"gainFame": random(2, 8),
"missionCordX": random(0, 12),
"missionCordY": random(0, 10),
"status": "available",
"region": "Region1",
"id": "rescueMissingDisciple01"
},
{
"name": "Collect venom sacs",
"reward": random(220, 300),
"description": "Harvest venom sacs from forest scorpions for an alchemist.",
"gainFame": random(1, 5),
"missionCordX": random(0, 12),
"missionCordY": random(0, 10),
"status": "available",
"region": "Region1",
"id": "collectVenomSacs01"
}
]>>
--------------------------------------SECT SIDE MISSIONS--------------------------------
<<set $SectSideMissions to []>>
<<set $SectSideMissions = [
{
"name": "Clean the Sect Courtyard",
"reward": random(3, 6),
"favor": 1,
"description": "Sweep the training ground and remove leftover debris after a sparring session.",
"gainFame": random(0, 2),
"missionCordX": random(0, 12),
"missionCordY": random(0, 11),
"status": "available",
"region": "Region1",
"requiredRank": "Initiate",
"id": "cleanCourtyard01"
},
{
"name": "Deliver Supplies to Outer Disciples",
"reward": random(4, 7),
"favor": 1,
"description": "Carry medicine and spirit water to the outer disciple quarters.",
"gainFame": random(1, 3),
"missionCordX": random(0, 12),
"missionCordY": random(0, 11),
"status": "available",
"region": "Region1",
"requiredRank": "Initiate",
"id": "deliverSupplies01"
},
{
"name": "Patrol the Sect Perimeter",
"reward": random(6, 10),
"favor": 6,
"description": "Join a patrol squad to monitor the perimeter for intruders or demonic beasts.",
"gainFame": random(2, 5),
"missionCordX": random(0, 12),
"missionCordY": random(0, 11),
"status": "available",
"region": "Region1",
"requiredRank": "Disciple",
"id": "patrolPerimeter01"
},
{
"name": "Assist the Alchemy Hall",
"reward": random(5, 9),
"favor": 3,
"description": "Help sort herbs and clean the cauldrons for the alchemists.",
"gainFame": random(1, 4),
"missionCordX": random(0, 12),
"missionCordY": random(0, 11),
"status": "available",
"region": "Region1",
"requiredRank": "Initiate",
"id": "assistAlchemy01"
},
{
"name": "Sparring Partner for Junior Disciples",
"reward": random(4, 8),
"favor": 3,
"description": "Help younger disciples improve by acting as their sparring partner in basic techniques.",
"gainFame": random(1, 4),
"missionCordX": random(0, 12),
"missionCordY": random(0, 11),
"status": "available",
"region": "Region1",
"requiredRank": "Disciple",
"id": "sparringPartner01"
}
]>><<set $activeSpecialSkill to "">>
<<set $activePassiveSkill to "">>
<<set $activeAttackSkill to "">>
<<set $skillFilter = "passive">>
<<set $skillInventory to []>>
<-- Special Skill -->
<<set $soulflareReversal to {
"name": "Soulflare Reversal",
"skillid": "soulflareReversal",
"widgetname": "SoulflareReversal",
"isEquipped": "false",
"energy": 90,
"exp": 400,
"level": 1,
"levelexp": 500,
"levelenergy": -10,
"category": "special",
"description": "Burn your own soul essence to reverse a fatal blow, instantly healing a portion of your health and negating death once per battle.",
"leveldescription": "Cooldown is reduced. At higher levels, also reflects part of the damage back to the attacker."
}>>
<<set $skyPiercer to {
"name": "Sky Piercer",
"skillid": "skyPiercer",
"widgetname": "skyPiercer",
"energy": 90,
"exp": 400,
"level": 1,
"levelexp": 500,
"levelenergy": -10,
"category": "special",
"description": "Pierce the heavens with a blade of Qi, dealing damage to all enemies and ignoring their barriers.",
"leveldescription": "Increases range and critical hit chance by 15%."
}>>
<<set $dragonSoulBurst to {
"name": "Dragon Soul Burst",
"skillid": "dragonSoulBurst",
"widgetname": "dragonSoulBurst",
"energy": 95,
"exp": 420,
"level": 1,
"levelexp": 520,
"levelenergy": -12,
"category": "special",
"description": "Unleash the essence of a dragon's soul, enhancing all attributes for 3 turns.",
"leveldescription": "Duration increases to 4 turns and buffs gain an additional 10% effect."
}>>
<-- Passive Skill -->
<<set $stoneheartConstitution to {
"name": "Stoneheart Constitution",
"skillid": "stoneheartConstitution",
"widgetname": "StoneheartConstitution",
"isEquipped": "false",
"energy": 0,
"exp": 250,
"level": 1,
"levelexp": 350,
"levelenergy": 0,
"category": "passive",
"description": "Your body is tempered like jade and stone. Increases base defense and resistance to physical damage.",
"leveldescription": "Boosts passive defense further. At high levels, grants minor immunity to bleed and fracture effects."
}>>
<<set $flowingQi to {
"name": "Flowing Qi",
"skillid": "flowingQi",
"widgetname": "flowingQi",
"energy": 0,
"exp": 250,
"level": 1,
"levelexp": 350,
"levelenergy": 0,
"category": "passive",
"description": "Your Qi flows naturally — regenerate 5 energy each turn.",
"leveldescription": "Regeneration increases to 8 energy per turn."
}>>
<<set $ironMeridians to {
"name": "Iron Meridians",
"skillid": "ironMeridians",
"widgetname": "ironMeridians",
"energy": 0,
"exp": 300,
"level": 1,
"levelexp": 400,
"levelenergy": 0,
"category": "passive",
"description": "Your meridians harden like steel — reduce all incoming damage by 10%.",
"leveldescription": "Damage reduction increases to 15%."
}>>
<-- Attack Skill -->
<<set $heavenSplittingPalm to {
"name": "Heaven-Splitting Palm",
"skillid": "heavenSplittingPalm",
"widgetname": "HeavenSplittingPalm",
"isEquipped": "false",
"energy": 60,
"exp": 300,
"level": 1,
"levelexp": 400,
"levelenergy": -5,
"category": "attack",
"description": "A devastating palm strike that channels spiritual force into raw destructive power. Ignores part of the enemy's defense.",
"leveldescription": "Damage increases with each level. High levels may cause 'stagger' or break enemy defense stance."
}>>
<<set $crimsonSlash to {
"name": "Crimson Slash",
"skillid": "crimsonSlash",
"widgetname": "crimsonSlash",
"energy": 60,
"exp": 300,
"level": 1,
"levelexp": 400,
"levelenergy": -5,
"category": "attack",
"description": "A swift, deadly slash infused with spiritual fire — deals extra fire damage.",
"leveldescription": "Increases fire damage by 20% and adds a chance to burn the enemy."
}>>
<<set $phantomPalm to {
"name": "Phantom Palm",
"skillid": "phantomPalm",
"widgetname": "phantomPalm",
"energy": 50,
"exp": 270,
"level": 1,
"levelexp": 380,
"levelenergy": -4,
"category": "attack",
"description": "Strike with a wave of spiritual energy, dealing damage and potentially knocking the enemy back.",
"leveldescription": "Increases knockback chance and adds minor mental damage."
}>>
__________________________________________________________________________________________
__________________________________________________________________________________________
<set $abc1 to {
"name": "abc1",
"skillid": "abc1",
"widgetname": "abc1",
"energy": 90,
"exp": 400,
"level": 1,
"levelexp": 500,
"levelenergy": -10,
"category": "special",
"description": "abc1",
"leveldescription": "abc1"
}>>
<-- Passive Skill -->
<<set $abc2 to {
"name": "abc2",
"skillid": "abc2",
"widgetname": "abc2",
"energy": 0,
"exp": 250,
"level": 1,
"levelexp": 350,
"levelenergy": 0,
"category": "passive",
"description": "abc2",
"leveldescription": "abc2"
}>>
<-- Attack Skill -->
<<set $abc3 to {
"name": "abc3",
"skillid": "abc3",
"widgetname": "abc3",
"energy": 60,
"exp": 300,
"level": 1,
"levelexp": 400,
"levelenergy": -5,
"category": "attack",
"description": "abc3",
"leveldescription": "abc3"
}>>
__________________________________________________________________________________________
<<set $sectRanks = ["Initiate", "Disciple", "Inner Disciple", "Core Disciple", "True Disciple", "Elder", "Great Elder", "Sect Leader"]>>
<<set $sectManuals to []>>
<<set $sectManuals to {
"righteous": {
"Initiate": [
{
"name": "Falling Star Palm",
"skillid": "fallingStarPalm",
"widgetname": "FallingStarPalm",
"isEquipped": "false",
"energy": 30,
"exp": 0,
"level": 1,
"levelexp": 300,
"levelenergy": -5,
"category": "attack",
"description": "A palm strike that descends like a falling star, striking with explosive force.",
"leveldescription": "Deals splash damage to nearby enemies.",
"ContributionPointCost": 60
},
{
"name": "Radiant Lotus Technique",
"skillid": "radiantLotus",
"widgetname": "RadiantLotus",
"isEquipped": "false",
"energy": 0,
"exp": 0,
"level": 1,
"levelexp": 400,
"levelenergy": 0,
"category": "passive",
"description": "Your presence exudes righteous qi, increasing healing effects and inner clarity.",
"leveldescription": "Further enhances healing and energy regeneration.",
"ContributionPointCost": 50
},
{
"name": "Heavenward Barrier",
"skillid": "heavenwardBarrier",
"widgetname": "HeavenwardBarrier",
"isEquipped": "false",
"energy": 90,
"exp": 400,
"level": 1,
"levelexp": 500,
"levelenergy": -10,
"category": "special",
"description": "Conjure a celestial shield that blocks a single fatal blow and restores health.",
"leveldescription": "Shorter cooldown and partial damage reflection at higher levels.",
"ContributionPointCost": 75
}
],
"Disciple": [
{
"name": "Soulflare Reversal",
"skillid": "soulflareReversal",
"widgetname": "SoulflareReversal",
"isEquipped": "false",
"energy": 90,
"exp": 400,
"level": 1,
"levelexp": 500,
"levelenergy": -10,
"category": "special",
"description": "Burn your own soul essence to reverse a fatal blow, instantly healing a portion of your health and negating death once per battle.",
"leveldescription": "Cooldown is reduced. At higher levels, also reflects part of the damage back to the attacker."
}
],
"elder": []
},
"demonic": {
"Initiate": [
{
"name": "Venom Fang Slash",
"skillid": "venomFangSlash",
"widgetname": "VenomFangSlash",
"isEquipped": "false",
"energy": 35,
"exp": 0,
"level": 1,
"levelexp": 300,
"levelenergy": -5,
"category": "attack",
"description": "A vicious claw strike infused with poison, dealing extra damage over time.",
"leveldescription": "Increased poison duration and critical hit chance.",
"ContributionPointCost": 60
},
{
"name": "Unholy Endurance",
"skillid": "unholyEndurance",
"widgetname": "UnholyEndurance",
"isEquipped": "false",
"energy": 0,
"exp": 0,
"level": 1,
"levelexp": 400,
"levelenergy": 0,
"category": "passive",
"description": "Dark cultivation techniques harden your body, granting resistance to pain and weakening.",
"leveldescription": "Further boosts defense and resistance to negative effects.",
"ContributionPointCost": 50
},
{
"name": "Blood Curse Mark",
"skillid": "bloodCurseMark",
"widgetname": "BloodCurseMark",
"isEquipped": "false",
"energy": 100,
"exp": 400,
"level": 1,
"levelexp": 500,
"levelenergy": -15,
"category": "special",
"description": "Sacrifice your own blood to curse an enemy. Reduces their healing and increases damage taken.",
"leveldescription": "Longer curse duration and chance to spread to nearby foes.",
"ContributionPointCost": 75
}
],
"Dsciple": [],
"Elder": []
}
}>><<if $pe eq 0>>
<div class="spirit-pavilion">
<h3>🌌 Spirit Pavilion</h3>
<p>You may rent a chamber here and meditate in peace. The cost is <b>3 Contribution Points</b> for <b>1 EXP</b>.</p>
<p><b>You currently have:</b> <span style="color:#ffe28a;"><<= $ContributionPoints >> Contribution Points</span></p>
<label for="spiritInput">How many Contribution Points do you wish to spend?</label><br>
<<textbox "$spiritpavilion" $spiritpavilion size 5>>
<<link "Meditate">>
<<set $spiritpavilion = parseInt($spiritpavilion)>>
<<if isNaN($spiritpavilion) or $spiritpavilion <= 0>>
<<replace "#meditationResult">><div id="meditationResult" style="color: #ff6666;">⚠️ Please enter a valid number greater than 0.</div><</replace>>
<<elseif $ContributionPoints < $spiritpavilion>>
<<replace "#meditationResult">><div id="meditationResult" style="color: #ff6666;">❌ You do not have enoughContribution Points.</div><</replace>>
<<else>>
<<set _expGained = Math.floor($spiritpavilion / 3)>>
<<set $ContributionPoints -= $spiritpavilion>>\
<<set $exp += _expGained>>\
<<set $pe = 1>>\
<<replace "#meditationResult">>
<div id="meditationResult" style="color: #6cff6c;">✅ You meditated successfully and gained <b><<= _expGained >> EXP</b>.</div>
<</replace>>\
<</if>>\
<</link>>\
\
<div id="meditationResult" style="margin-top:1em;"></div>
</div>\
\
<<link "Leave" $passage>><<set $pe = 0>><</link>>
\
<</if>>--------------------------------------GENERAL---------------------------------------------
<<set $lifespan to 18>>
<<set $basemaxlifespan to 80>>
<<set $health to 300>>
<<set $basemaxhealth to 300>>
<<set $energy to 200>>
<<set $basemaxenergy to 200>>
<<set $baseluck to 5>>
<<set $baseinsight to 5>>
<<set $passiveatk to 0>>
<<set $passivedef to 0>>
<<set $passivecrit to 0>>
<<set $passivecritres to 0>>
<<set $passiveagility to 0>>
<<set $baseatk to 50>>
<<set $basedef to 5>>
<<set $basecrit to 3>>
<<set $basecritres to 1>>
<<set $baseagility to 7>>
<<set $basemartialArts to 10>>
<<set $basespiritualRoot to 10>>
<<set $basewillpower to 5>>
<<set $basestrength to 5>>
<<set $energyRecovery = $basewillpower/100>>
<<set $healthRecovery = $basestrength/100>>
<<set $destinyatk = 0>>
<<set $destinydef = 0>>
<<set $destinycrit = 0>>
<<set $destinycritres = 0>>
<<set $destinyagility = 0>>
<<set $destinymartialArts = 0>>
<<set $destinyspiritualRoot = 0>>
<<set $destinylifespan to 0>>
<<set $destinyenergy to 0>>
<<set $destinyhealth to 0>>
<<set $atk = $baseatk + $destinyatk + ($basestrength*0.5) + $passiveatk>>
<<set $def = $basedef + $destinydef + $passivedef>>
<<set $crit = $basecrit + $destinycrit + $passivecrit>>
<<set $critres = $basecritres + $destinycritres + $passivecritres>>
<<set $agility = $baseagility + $destinyagility + $passiveagility>>
<<set $martialArts = $basemartialArts + $destinymartialArts>>
<<set $spiritualRoot = $basespiritualRoot + $destinyspiritualRoot>>
<<set $luck to $baseluck>>
<<set $insight to $baseinsight>>
<<set $evadescore = ($agility * 2) + ($insight * 1.5) + ($luck * 0.5)>>
<<set $maxlifespan to $basemaxlifespan + $destinylifespan>>
<<set $maxhealth to $basemaxhealth + $destinyenergy>>
<<set $maxenergy to $basemaxenergy + $destinyhealth>>
reputation -> WIDGET
charisma -> WIDGET
<<set $cultivationRealm to "Body Tempering Realm">>
<<set $cultivationStage to "Early">>
<<set $exp to 0>>
<<set $verystart to 0>>
<<set $gold to 0>>
--------------------------------------NSFW------------------------------------------------
<<set $corruption to 0>> ->corruption
<<set $virginity to 1>> *if 1 then pc is virgin, else not*
<<set $virginityLost to "">>*with who pc lost virginity*
<<set $analVirginity to 1>>*if 1 then pc is virgin, else not*
<<set $analVirginityLost to "">> *with who pc lost virginity*
<<set $achievements = []>> <!-- Stores unlocked achievements -->
--------------------------------------MAP------------------------------------------------
<<set $currentRegion to "Region1">>
<<set $sidemission to "inactive">>
<<set $sidemissionX to 0>>
<<set $sidemissionY to 0>>
<<set $turns = 0>>
<<set $turnsPerYear = 24>>
<<set $CurrentPcSectRank to "">>
<<set $CurrentPcSectReputation to 0>>
<<set $CurrentPcSect to "">>
<<set $CurrentPcAffiliation to "">>
<<set $CurrentPcMainSect to "">>
<<set $ContributionPoints to 0>>
<<set $sectFavor to 0>>
<<set $CurrentPcSectRank = ["Initiate", "Disciple", "Inner Disciple", "Core Disciple", "True Disciple", "Elder", "Great Elder", "Sect Leader"]>>
---------------------------------------------REPUTATION----------------------------------
<<set $righteousreputation to 0>>
<<set $demonicreputation to 0>>
<<set $PCrighteousreputation to 0>>
<<set $PCdemonicreputation to 0>>
<<set $totalPCrighteousreputation to $PCrighteousreputation + $righteousreputation>>
<<set $totalPCdemonicreputation to $PCdemonicreputation + $demonicreputation>>
<<set $sexFame to 0>>
<<set $combatFame to 0>>
<<set $cultivationFame to 0>>
<<set $sectFame to 0>>
<<set $fame to 0>>
<<set $totalFame to ($fame + $sectFame + $cultivationFame + $combatFame)>>
<<set $civilians_harmed to 0>>
<<newmeter 'timer' 0>>
<<colors 'red' 'green'>>
<<animation 10s linear>>
<</newmeter>>
<<newmeter 'health' 1>>
<<sizing '220px' '25px'>>
<<label HP:$health/$maxhealth 'black' center>>
<</newmeter>>
<<newmeter 'energy' 1>>
<<sizing '220px' '25px'>>
<<label Qi:$energy/$maxenergy 'black' center>>
<<colors '#0377fc' 'red'>>
<</newmeter>><<link "Return" $passage>><</link>>
<<nobr>>
<div class="achievements-container">
<h2 class="achievements-title">Heavenly Records</h2>
<p class="achievements-count">
Unlocked: <<print State.variables.achievements.length>> / <<print window.achievementsList.length>>
</p>
<div class="achievements-scroll">
<<set _sortedList to window.getSortedAchievements()>>
<<set _unlocked to State.variables.achievements>>
<<for _ach range _sortedList>>
<<if _unlocked.includes(_ach.id)>>
<div class="achievement-item unlocked">
<div class="achievement-name"><<print _ach.title>></div>
<div class="achievement-desc"><<print _ach.desc>></div>
</div>
<<else>>
<div class="achievement-item locked">
<div class="achievement-name">???</div>
<div class="achievement-desc">A hidden truth awaits...</div>
</div>
<</if>>
<</for>>
</div>
<<link "Return" $passage>><</link>>
</div>
<div class="tab-nav">
<<link "Achievements" "Achievements">><</link>><<link "Status">><<goto "Status">><</link>><<link "Skills">><<goto "Skills">><</link>><<link "Inventory">><<goto "Inventory">><</link>><<link "Relations">><<goto "Relations">><</link>><<link "Breakthrough">><<goto "Breakthrough">><</link>><<link "Help">><<goto "Help">><</link>>
</div>
<</nobr>><<nobr>>
<<if $verystart eq 0>><<else>>\
<br><b>Name</b>: $playername $playersurname
<br><<UpdatePortrait>>
<<if $activeSideMission neq null>>
<br><b>Current Mission:</b> <<print $activeSideMission.name>>
<</if>>
<div id="stats-recovery">
<br><<showmeter "health">><<updatemeter "health" `$health / $maxhealth`>>
<br><<showmeter "energy">><<updatemeter "energy" `$energy / $maxenergy`>>
</div>
<<statusCondition>>
<br><b>Corruption</b>: $corruption
<br><b>Experience</b>: $exp
\
<</if>>
<</nobr>><<include Stats>>
<<include Naming>>
<<include Destiny>>
<<include PlayerI>>
<<include Items>>
<<include NPC>>
<<include AlchemyItems>>
<<include Potions>>
<<include PotionRecipes>>
<<include SideMissions>>
<<include SpecialArts>>
<<include Dtalks>>
<<include MainMissions>>
<<include MerchantItems>><<widget "NpcTalk">>
<<if $currentNPC.friendship lt 20 and $currentNPC.talk lt 3>>
<<set _random_desc_1 = $neutralTalkNPC.pluck()>>
_random_desc_1
<<set $neutralTalkNPC to [
"You look like a new face around here.",
"Not many travelers pass through this area.",
"What brings you to this place?",
"Be careful. Not all cultivators are as kind as they appear.",
"The spiritual energy feels dense today, doesn't it?"
]>>
<</if>>
<<if $currentNPC.friendship gte 30 and $currentNPC.friendship lt 70>>
<<set _random_desc_1 = $friendlyTalkNPC.pluck()>>
_random_desc_1
<<set $friendlyTalkNPC to [
"It’s always good to see a friendly face.",
"Training hard again? You never take a break.",
"I found a quiet spot by the waterfall—you’d love it.",
"Let me know if you ever need help with your cultivation.",
"The sect's been talking about your progress. You're not bad."
]>>
<</if>>
<<if $currentNPC.relationshipType eq "lover" and $currentNPC.hadSex eq 1>>
<<set _random_desc_1 = $loverTalkNPC.pluck()>>
_random_desc_1
<<set $loverTalkNPC to [
"I dreamed of you last night…",
"Come closer. I want to feel your presence.",
"You always make my heart feel lighter.",
"After everything, I’m glad we met.",
"When this world turns to chaos, remember you have me."
]>>
<</if>>
<<if $currentNPC.depravity gt 70>>
<<set _random_desc_1 = $highDepravityTalkNPC.pluck()>>
_random_desc_1
<<set $highDepravityTalkNPC to [
"Power is the only language worth speaking.",
"Desire isn't a weakness—it's fuel.",
"Have you ever killed someone and felt… exhilarated?",
"Kindness? That's a lie we tell ourselves.",
"I could show you things you'd never forget… if you're brave enough."
]>>
<</if>>
<<if $currentNPC.mentorshipType eq 1>>
<<set _random_desc_1 = $MentorTalkNPC.pluck()>>
_random_desc_1
<<set $MentorTalkNPC to [
"Your stance is improving. Slightly.",
"Discipline, focus, and patience—that’s the path.",
"Did you review the techniques I assigned?",
"Even a spark can become a flame. Don’t waste your potential.",
"I was once like you… hungry for power, blind to the cost."
]>>
<</if>>
<<if $currentNPC.mentorshipType eq 2>>
<<set _random_desc_1 = $ApprenticeTalkNPC.pluck()>>
_random_desc_1
<<set $ApprenticeTalkNPC to [
"Master, do you think I’m ready for the next realm?",
"I tried the technique you showed me, but something feels off.",
"Thank you for taking me in. I won’t disappoint you.",
"Sometimes I wonder why you chose me.",
"Your teachings… they saved me more than once."
]>>
<</if>>
<<if $currentNPC.relationshipType eq "enemy">>
<<set _random_desc_1 = $enemyTalkNPC.pluck()>>
_random_desc_1
<<set $enemyTalkNPC to [
"Still alive? Disappointing.",
"One day, I’ll surpass you. Count on it.",
"Don’t think I’ve forgotten what you did.",
"You may have power, but you lack honor.",
"Every time we speak, I lose more respect for you."
]>>
<</if>>
<<if $currentNPC.talk gt 10>>
<<set _random_desc_1 = $highTalk.pluck()>>
_random_desc_1
<<set $highTalk to [
"You’ve changed since we first met.",
"Talking to you always makes things clearer.",
"Strange… I never thought I’d trust someone like you.",
"So much has happened, hasn’t it?",
"Even in silence, your presence comforts me."
]>>
<</if>>
<</widget>><<if $pe eq 0>>
You push open the worn wooden doors of the tavern, the scent of roasted meat and warm wine wafting into your nostrils. The dim light reveals cultivators from all walks of life: quiet loners, loud braggarts, and hidden masters in disguise.
<<set _roll to random(0,100)>>
<<if _roll lte 15>>
<p>A troupe of wandering musicians fills the air with melodies from the Central Plains. You feel strangely invigorated.</p>
<<set $energy += 10>>
<<elseif _roll gt 15 and _roll lte 25>>
<p>Drunken cultivators loudly boast about their recent breakthroughs. One challenges you to a <b>drinking contest</b>!</p>
<<set _contestRoll to random(1, 10)>>
<<if _contestRoll > 5>>
<p>You outdrink him and earn the respect of the crowd.</p>
<<set $fame += 3>>
<<else>>
<p>You pass out under the table.</p>
<<set $energy -= 5>><<set $fame -= 1>><</if>><</if>>
<<BowBeforeMe>>
<<link "Go back" $passage>><<set $pe to 0>><</link>>
<<elseif $pe eq 1>>
<<BowBeforeMe>>
<</if>><<nobr>>
<<if $pe eq 0>>
<br>You are fighting $currentEnemy.fullname !
<br><<EnemyImage $currentEnemy.enemyregion $currentEnemy.enemyimage 300>><</EnemyImage>>
<br><b>General Actions</b>:
<br><<link "Attack" "TavernBattle">>
<<set $pe to 1>>
<<set $playeraction = "attack">>
<</link>>
<br><<link "Surrender" "TavernBattle">>
<<set $pe to 1>>
<<set $playeraction = "surrender">>
<</link>>
<table class="abilities-table">
<td>
<b>Abilities</b>:
<<for _i to 0; _i lt $skillInventory.length; _i++>>\
<<if ($skillInventory[_i].category eq "attack" or $skillInventory[_i].category eq "special") and $skillInventory[_i].isEquipped eq "true">>
<br><<print $skillInventory[_i].name>> (Energy cost: $skillInventory[_i].energy )
<<capture _i>>
<<if $energy lt $skillInventory[_i].energy>><i>Not enough energy</i>
<<else>> <<link "Use" "TavernBattle">>
<<set $pe = 1>><<set $playeraction = "ability">> <<set $ability = $skillInventory[_i].widgetname>> <<set $abilityenergy = $skillInventory[_i].energy>><<set $energy -= $abilityenergy>> <<set $abilitylevel = $skillInventory[_i].level>> <</link>> <</if>>
<</capture>>
<</if>>
<</for>>
</td>
</table>
<<if $activePassiveSkill != "">>
<<Ability $activePassiveWidget>><</Ability>>
<</if>>
<<EnemyBattleTable>>
<<elseif $pe eq 1>>
<br><<if $playeraction eq "attack">>You attempt to hit the $currentEnemy.fullname !
<<PlayerAttackAttempt>>
<<if $playeraction = "attack success">>
<br><<PlayerAttackDamage>>
<<elseif $playeraction eq "attack failure">>
<br>You missed your attack!
<</if>><</if>>
<<EnemyStun>>
<br><<if $enemyaction eq "attack">>The $currentEnemy.fullname attacks you!
<<EnemyAttackAttempt>>
<<if $enemyaction = "attack success">>
<br><<EnemyAttackDamage>>
<<elseif $enemyaction eq "attack failure">>
<br>The $currentEnemy.fullname missed their attack!
<</if>><</if>>
<<if $playeraction eq "ability">>
<br><<Ability $ability>><</Ability>><</if>>
<<if $playeraction eq "surrender">>
<br>You have surrendered. You lost the battle.
<<set $health = 0>>
<</if>>
<br><<if $currentEnemy.NPCcurrenthealth lte 0>><<link "The enemy is defeated! Victory!" $returnpassage>><<set $pe = $nextPe>><</link>>
<br><<elseif $health lte 0>><<link "You've lost...." $returnpassage>><<set $pe = $nextPe += 1>><</link>>
<br><<else>><<link "Continue battle" $passage>><<set $pe = 0>><</link>>
<</if>>
<</if>>
<</nobr>><<if $knownRecipes.length > 0>>
<<link "Go back" $passage>><</link>>
<<nobr>>
<div id="craftlog"></div>
<table class="stat-table">
<tr>
<th>Recipe</th>
<th>Ingredients</th>
<th>Action</th>
</tr>
<<for _recipe range $knownRecipes>>
<tr>
<td><<print _recipe.name>></td>
<td>
<<for _id, _qty range _recipe.ingredients>>
<<print _qty>>x <<print _id.replace(/([a-z])([A-Z])/g, "$1 $2")>><br>
<</for>>
</td>
<td>
<<link "Craft">>
<<craftItem _recipe>>
<</link>>
</td>
</tr>
<</for>>
</table>
<</nobr>>
<<else>>
<p>You don't know any recipes yet.</p>
<</if>>
<<link "Go back" $passage>><</link>><<if $pe eq 0>>
You are fighting $currentEnemy.fullname !
<<EnemyImage $currentEnemy.enemyregion $currentEnemy.enemyimage 300>><</EnemyImage>>
<b>General Actions</b>:
<<link "Attack" "TournamentBattle|Region1">>
<<set $pe to 1>>
<<set $playeraction = "attack">>
<</link>>
<table class="abilities-table">\
<td>\
<b>Abilities</b>:
<<for _i to 0; _i lt $skillInventory.length; _i++>>\
<<if ($skillInventory[_i].category eq "attack" or $skillInventory[_i].category eq "special") and $skillInventory[_i].isEquipped eq "true">>
<<print $skillInventory[_i].name>> (Energy cost: $skillInventory[_i].energy )\
<<capture _i>>\
<<if $energy lt $skillInventory[_i].energy>><i>Not enough energy</i>
<<else>> <<link "Use" "TournamentBattle|Region1">>
<<set $pe = 1>><<set $playeraction = "ability">> <<set $ability = $skillInventory[_i].widgetname>> <<set $abilityenergy = $skillInventory[_i].energy>><<set $energy -= $abilityenergy>> <<set $abilitylevel = $skillInventory[_i].level>> <</link>> <</if>>
<</capture>>\
<</if>>
<</for>>\
</td>\
</table>
<<if $activePassiveSkill != "">>
<<Ability $activePassiveWidget>><</Ability>>
<</if>>
<<EnemyBattleTable>>
<<elseif $pe eq 1>>
<<if $playeraction eq "attack">>You attempt to hit the $currentEnemy.fullname !
<<PlayerAttackAttempt>>
<<if $playeraction = "attack success">>
<<PlayerAttackDamage>>
<<elseif $playeraction eq "attack failure">>
You missed your attack!
<</if>><</if>>
<<EnemyStun>>
<<if $enemyaction eq "attack">>The $currentEnemy.fullname attacks you!
<<EnemyAttackAttempt>>
<<if $enemyaction = "attack success">>
<<EnemyAttackDamage>>
<<elseif $enemyaction eq "attack failure">>
The $currentEnemy.fullname missed their attack!
<</if>><</if>>
<<if $playeraction eq "ability">>
<<Ability $ability>><</Ability>><</if>>
<<if $currentEnemy.NPCcurrenthealth lte 0>>
<<link "The enemy is defeated! Victory!" $returnpassage>>
<<set $pe = $nextPe>><</link>>
<<elseif $health lte 0>>
<<link "You've lost!" "Tournament|Region1">>
<<set $pe to "lost">><</link>>
<<else>>
<<link "Continue battle" $passage>>
<<set $pe = 0>><</link>>
<</if>>
<</if>><<set _sexpassage to passage()>>
<<nobr>>
<<if !$cumcount>> <<set $cumcount = 0>><</if>>
<<if !$position>> <<set $position = "">><</if>>
<<if !$npcFinished>> <<set $npcFinished = false>><</if>>
<div id="sceneDisplay">
<<if $position == "straddle">>
<<set _straddle to ["lotus1", "lotus2", "lotus3"].random()>>
<div style="position: relative; width: 70%; height: auto;"><<BackgroundHandler>><img @src="'images/Sex/' + _straddle + '.png'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"></div>
SEX TEXTS
<</if>>
<<if $position == "bent">>
<<set _bent to ["bentover", "bentover1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _bent + '.png'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
TEXT SEXS
<</if>>
<<if $position == "tree">>
<<set _tree to ["standingsex", "standingsex1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _straddle + '.png'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
SEX TEXTS
<</if>>
</div>
<<if $cumcount < 3>>
<p><strong>Change Position:</strong></p>
<ul>
<<if $position != "straddle">>
<li>
<<link "Straddle his lap" _sexpassage>>
<<set $position to "straddle">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "bent">>
<li>
<<link "Bent over" _sexpassage>>
<<set $position to "bent">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "tree">>
<li>
<<link "Pinned to tree" _sexpassage>>
<<set $position to "tree">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
</ul>
<</if>>
<div id="positionOptions"></div>
<<if $cumcount >= 3 and !$npcFinished>>
<<set _roll = random(1, 100)>>
<<if _roll <= 25>>
<<set $npcFinished = true>>
<p><strong>Without warning, he groans and finishes inside you, unable to hold back any longer.<<link "Go back" $tournamentpassage>><</link>></strong></p>
<<else>>
<p><strong>He's right on the edge. Where should he finish?</strong></p>
<div id="choice">
<p><<linkreplace "Inside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You clench around him, pulling him deeper as he releases inside.
<<link "Go back" $tournamentpassage>><</link>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "Outside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You pull away just in time, and he finishes across your belly.
<<link "Go back" $tournamentpassage>><</link>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "On your back">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You fall to your knees, and he finishes across your back.
<<link "Go back" $tournamentpassage>><</link>>
<</replace>>
<</linkreplace>>
</div>
<</if>>
<</if>>
<</nobr>><<nobr>>
<<if $pe eq 0>>
<br><img src="images/Story/arena.png" class=center width=600>
<br><p>The air crackles with anticipation as the preliminary battles begin. Cultivators from all regions have gathered, their eyes sharp and spirits high. This is your <br>chance to prove your worth and claim your place among the chosen sixteen.</p>
<br><p>Only the strong — or the cunning — will move forward. Step into the ring and let your strength speak for itself.</p>
<<set $actionsLeft to 3>>
<<CreateNPC_Region1>>
<br><p>As you check the match roster, your next opponent is revealed: <b>_fullname</b>. The name is unfamiliar — another ambitious cultivator seeking glory on the grand stage.</p> <p>The crowd murmurs in anticipation, and the arena begins to hum with spiritual energy.</p>
<<BeforeBattle>>
<<link "Get ready and get on stage" "TournamentBattle|Region1">>
<<set $passage to "TournamentBattle|Region1">>
<<set $pe=0>>
<</link>>
<<link "Forfeit!" $passage>><</link>>
<<set $nextPe to 1>>
<<set $roundLost to "Preliminary">>
<<elseif $pe eq 1>>
<br><img src="images/Story/arena.png" class=center width=600>
<br> <p>Your opponent lies defeated, and the crowd erupts into murmurs of awe. You’ve proven your strength, if only just. A jade slip confirms your advancement — you are among the final sixteen.</p>
<br><p>From now on, each battle will be one-on-one. Each loss, final. The real test begins.</p>
<br>
<br><<link "Continue!" "Tournament|Region1">>
<<set $pe to 2>><<set $roundLost to "Top 16">>
<</link>>
<<elseif $pe eq 2>>
<<if $health gte $maxhealth>><<set $health=$maxhealth>><</if>>
<br><img src="images/Story/arena.png" class=center width=600>
<br>You <<if $actionsLeft lte 0>>don't<</if>> have time before your next match...
<<if $actionsLeft gt 0>>
<br><<link "Rest" "Tournament|Region1">><<set $health to ($health + 0.3*$maxhealth)>>
<<set $actionsLeft -=1>><</link>>
<</if>>
<<CreateNPC_Region1>>
<<set $nextPe to 3>>
<<set $roundLost to "Top16">>
<<BeforeBattle>>
<br><<link "Get ready and get on stage" "TournamentBattle|Region1">>
<<set $passage to "TournamentBattle|Region1">><<set $actionsLeft to 3>>
<<set $pe=0>><<set $combatFame +=2 >>
<<set $fame +=2>>
<</link>>
<br><<linkappend "Observe other battles">>
<<set _watchfight to random(1,3)>>
<<if _watchfight eq 1>>
<br><p>Two unfamiliar cultivators clash in a blur of movement. One conjures spears of flame, the other counters with a spinning jade barrier. In moments, thematch ends — a clean strike to the chest, a cloud of dust, and silence.</p>
<<elseif _watchfight eq 2>>
<br><p>You watch as a towering man swings a massive blade, each strike causing tremors. His opponent dances like a shadow, evading each blow — until one misstep seals their fate. The match is over in an instant.</p>
<<else>>\
<br><p>Two elegant female cultivators duel mid-air. Petals and frost swirl around them as techniques collide. One miscalculates her descent, crashing into the stone — and the battle ends with a respectful bow.</p>
<</if>>
<</linkappend>>
<br><<if $actionsLeft gt 0 and $health lt $maxhealth>>
<<linkappend "Buy recovery potion">>
<p>You stagger slightly as you return to the waiting area between matches. Your body aches, and the blood still trickling from your side is a stark reminder of how close you were to collapse.</p>
<p>A nearby vendor with a crooked smile eyes you knowingly. His stall is cluttered with vials, incense, and shimmering powders.</p>
<span class="male">“You look like hell warmed over. Lucky for you, I sell miracles in bottles.”</span>
He uncorks a flask and lets the scent drift toward you—sweet, sharp, and humming with potent qi.
<span class="male">“Fifty gold. It'll patch you up before the next round. Interested?”</span>
<<if $gold gte 350>>
<<linkappend "Buy healing potion">><<set $health==$maxhealth>><<set $energy==$maxenergy>><<set $gold-=350>>
<p>You slap the coins into his palm. The shopkeeper grins.</p>
<p><span class="male">“Pleasure doing business.”</span> He hands over the vial. </p>
<p> You down the potion in one go, and warmth floods your limbs. Your wounds begin to knit. Strength returns. </p>
<</linkappend>>
<<else>>
<p>You glance at your coin pouch. Empty.</p>
<p>The shopkeeper hums, clearly amused. </p>
<p><span class="male">“No gold? Then maybe you'd be willing to... negotiate.”</span> </p>
<p>He steps closer, eyes tracing your form shamelessly. </p>
<p><span class="male">“Don't look so scandalized. My potions are potent—surely worth a few moans?”</span></p>
<<if $corruption gte 40>><<link "Give in to his offer" "Tournament|MerchantSex">><<set $tournamentpassage to passage()>><<set $scene to 0>><</link>><</if>>
<<linkappend "Refuse and fight injured">>
You shake your head. You’ll face the next battle as you are—bloodied, but unbroken.
The shopkeeper shrugs, then calls after you:
<span class="male">“Suit yourself. Just don’t die out there. I hate cleaning up corpses.”</span>
<</linkappend>>
<</if>>
<</linkappend>>
<</if>>
<<elseif $pe eq 3>>
<<if $health gte $maxhealth>><<set $health=$maxhealth>><</if>>
<br><img src="images/Story/arena.png" class=center width=600>
<br>You <<if $actionsLeft lte 0>>don't<</if>> have time before your next match...
<br><<if $actionsLeft gt 0>><<link "Rest" "Tournament|Region1">><<set $health to ($health + 0.3*$maxhealth)>><<set $actionsLeft -=1>><</link>><</if>>
<<CreateNPC_Region1>>
<<set $nextPe to 4>>
<<set $roundLost to "Top8">>
<<BeforeBattle>>
<br>
<br><<link "Get ready and get on stage" "TournamentBattle|Region1">>
<<set $passage to "TournamentBattle|Region1">>
<<set $pe=0>><<set $actionsLeft to 3>><<set $combatFame +=10 >>
<<set $fame +=10>>
<</link>>
<br><<linkappend "Observe other battles">>
<<set _watchfight to random(1,3)>>
<<if _watchfight eq 1>>
<br> <p>Two unfamiliar cultivators clash in a blur of movement. One conjures spears of flame, the other counters with a spinning jade barrier. In moments, the match ends — a clean strike to the chest, a cloud of dust, and silence.</p>
<br><<elseif _watchfight eq 2>>
<p>You watch as a towering man swings a massive blade, each strike causing tremors. His opponent dances like a shadow, evading each blow — until one misstep seals their fate. The match is over in an instant.</p>
<<else>>
<br><p>Two elegant female cultivators duel mid-air. Petals and frost swirl around them as techniques collide. One miscalculates her descent, crashing into the stone — and the battle ends with a respectful bow.</p>
<</if>>\
<</linkappend>>
<br><<if $actionsLeft gt 0 and $health lt $maxhealth>>
<<linkappend "Buy recovery potion">>
<p>You stagger slightly as you return to the waiting area between matches. Your body aches, and the blood still trickling from your side is a stark reminder of how close you were to collapse.</p>
<p>A nearby vendor with a crooked smile eyes you knowingly. His stall is cluttered with vials, incense, and shimmering powders.</p>
<span class="male">“You look like hell warmed over. Lucky for you, I sell miracles in bottles.”</span>
He uncorks a flask and lets the scent drift toward you—sweet, sharp, and humming with potent qi.
<span class="male">“Fifty gold. It'll patch you up before the next round. Interested?”</span>
<<if $gold gte 350>>
<<linkappend "Buy healing potion">><<set $health==$maxhealth>><<set $energy==$maxenergy>><<set $gold-=350>>
<p>You slap the coins into his palm. The shopkeeper grins.</p>
<p><span class="male">“Pleasure doing business.”</span> He hands over the vial. </p>
<p> You down the potion in one go, and warmth floods your limbs. Your wounds begin to knit. Strength returns. </p>
<</linkappend>>
<<else>>
<p>You glance at your coin pouch. Empty.</p>
<p>The shopkeeper hums, clearly amused. </p>
<p><span class="male">“No gold? Then maybe you'd be willing to... negotiate.”</span> </p>
<p>He steps closer, eyes tracing your form shamelessly. </p>
<p><span class="male">“Don't look so scandalized. My potions are potent—surely worth a few moans?”</span></p>
<<if $corruption gte 40>><<link "Give in to his offer" "Tournament|MerchantSex">><<set $tournamentpassage to passage()>><<set $scene to 0>><</link>><</if>>
<<linkappend "Refuse and fight injured">>
You shake your head. You’ll face the next battle as you are—bloodied, but unbroken.
The shopkeeper shrugs, then calls after you:
<span class="male">“Suit yourself. Just don’t die out there. I hate cleaning up corpses.”</span>
<</linkappend>>
<</if>>
<</linkappend>>
<</if>>
<<elseif $pe eq 4>>
<<if $health gte $maxhealth>><<set $health=$maxhealth>><</if>>
<br><img src="images/Story/arena.png" class=center width=600>
<br>You <<if $actionsLeft lte 0>>don't<</if>> have time before your next match...
<br><<if $actionsLeft gt 0>><<link "Rest" "Tournament|Region1">><<set $health to ($health + 0.3*$maxhealth)>><<set $actionsLeft -=1>><</link>><</if>>
<<CreateNPC_Region1>>
<<set $nextPe to 5>>
<<set $roundLost to "Top4">><<set $combatFame +=15 >>
<<set $fame +=15>>
<<BeforeBattle>>
<br><<link "Get ready and get on stage" "TournamentBattle|Region1">>
<<set $passage to "TournamentBattle|Region1">>
<<set $pe=0>><<set $actionsLeft to 3>>
<</link>>
<br> <<linkappend "Observe other battles">>
<<set _watchfight to random(1,3)>>
<<if _watchfight eq 1>>
<br> <p>Two unfamiliar cultivators clash in a blur of movement. One conjures spears of flame, the other counters with a spinning jade barrier. In moments, thmatch ends — a clean strike to the chest, a cloud of dust, and silence.</p>
<<elseif _watchfight eq 2>>
<br><p>You watch as a towering man swings a massive blade, each strike causing tremors. His opponent dances like a shadow, evading each blow — until one misstep seals their fate. The match is over in an instant.</p>
<<else>>
<br><p>Two elegant female cultivators duel mid-air. Petals and frost swirl around them as techniques collide. One miscalculates her descent, crashing into the stone — and the battle ends with a respectful bow.</p>
<</if>>
<</linkappend>>
<br><<if $actionsLeft gt 0 and $health lt $maxhealth>>
<<linkappend "Buy recovery potion">>
<p>You stagger slightly as you return to the waiting area between matches. Your body aches, and the blood still trickling from your side is a stark reminder of how close you were to collapse.</p>
<p>A nearby vendor with a crooked smile eyes you knowingly. His stall is cluttered with vials, incense, and shimmering powders.</p>
<span class="male">“You look like hell warmed over. Lucky for you, I sell miracles in bottles.”</span>
He uncorks a flask and lets the scent drift toward you—sweet, sharp, and humming with potent qi.
<span class="male">“Fifty gold. It'll patch you up before the next round. Interested?”</span>
<<if $gold gte 350>>
<<linkappend "Buy healing potion">><<set $health==$maxhealth>><<set $energy==$maxenergy>><<set $gold-=350>>
<p>You slap the coins into his palm. The shopkeeper grins.</p>
<p><span class="male">“Pleasure doing business.”</span> He hands over the vial. </p>
<p> You down the potion in one go, and warmth floods your limbs. Your wounds begin to knit. Strength returns. </p>
<</linkappend>>
<<else>>
<p>You glance at your coin pouch. Empty.</p>
<p>The shopkeeper hums, clearly amused. </p>
<p><span class="male">“No gold? Then maybe you'd be willing to... negotiate.”</span> </p>
<p>He steps closer, eyes tracing your form shamelessly. </p>
<p><span class="male">“Don't look so scandalized. My potions are potent—surely worth a few moans?”</span></p>
<<if $corruption gte 40>><<link "Give in to his offer" "Tournament|MerchantSex">><<set $tournamentpassage to passage()>><<set $scene to 0>><</link>><</if>>
<<linkappend "Refuse and fight injured">>
You shake your head. You’ll face the next battle as you are—bloodied, but unbroken.
The shopkeeper shrugs, then calls after you:
<span class="male">“Suit yourself. Just don’t die out there. I hate cleaning up corpses.”</span>
<</linkappend>>
<</if>>
<</linkappend>>
<</if>>
<<elseif $pe eq 5>>
<<if $health gte $maxhealth>><<set $health=$maxhealth>><</if>>
<br><img src="images/Story/arena.png" class=center width=600>
<br> You <<if $actionsLeft lte 0>>don't<</if>> have time before your next match...
<br> <<if $actionsLeft gt 0>><<link "Rest" "Tournament|Region1">><<set $health to ($health + 0.3*$maxhealth)>><<set $actionsLeft -=1>><</link>><</if>>
<<CreateNPC_Region1>>
<<set $nextPe to 6>>
<<set $roundLost to "Top2">><<set $combatFame +=20 >>
<<set $fame +=20>>
<<BeforeBattle>>
<br><<link "Get ready and get on stage" "TournamentBattle|Region1">>
<<set $passage to "TournamentBattle|Region1">>
<<set $pe=0>><<set $actionsLeft to 3>>
<</link>>
<br><<linkappend "Observe other battles">>
<<set _watchfight to random(1,3)>>
<<if _watchfight eq 1>>
<br><p>Two unfamiliar cultivators clash in a blur of movement. One conjures spears of flame, the other counters with a spinning jade barrier. In moments, the match ends — a clean strike to the chest, a cloud of dust, and silence.</p>
<<elseif _watchfight eq 2>>
<br><p>You watch as a towering man swings a massive blade, each strike causing tremors. His opponent dances like a shadow, evading each blow — until one misstep seals their fate. The match is over in an instant.</p>
<<else>>
<br><p>Two elegant female cultivators duel mid-air. Petals and frost swirl around them as techniques collide. One miscalculates her descent, crashing into the stone — and the battle ends with a respectful bow.</p>
<</if>>\
<</linkappend>>
<br><<if $actionsLeft gt 0 and $health lt $maxhealth>>
<<linkappend "Buy recovery potion">>
<p>You stagger slightly as you return to the waiting area between matches. Your body aches, and the blood still trickling from your side is a stark reminder of how close you were to collapse.</p>
<p>A nearby vendor with a crooked smile eyes you knowingly. His stall is cluttered with vials, incense, and shimmering powders.</p>
<span class="male">“You look like hell warmed over. Lucky for you, I sell miracles in bottles.”</span>
He uncorks a flask and lets the scent drift toward you—sweet, sharp, and humming with potent qi.
<span class="male">“Fifty gold. It'll patch you up before the next round. Interested?”</span>
<<if $gold gte 350>>
<<linkappend "Buy healing potion">><<set $health==$maxhealth>><<set $energy==$maxenergy>><<set $gold-=350>>
<p>You slap the coins into his palm. The shopkeeper grins.</p>
<p><span class="male">“Pleasure doing business.”</span> He hands over the vial. </p>
<p> You down the potion in one go, and warmth floods your limbs. Your wounds begin to knit. Strength returns. </p>
<</linkappend>>
<<else>>
<p>You glance at your coin pouch. Empty.</p>
<p>The shopkeeper hums, clearly amused. </p>
<p><span class="male">“No gold? Then maybe you'd be willing to... negotiate.”</span> </p>
<p>He steps closer, eyes tracing your form shamelessly. </p>
<p><span class="male">“Don't look so scandalized. My potions are potent—surely worth a few moans?”</span></p>
<<if $corruption gte 40>><<link "Give in to his offer" "Tournament|MerchantSex">><<set $tournamentpassage to passage()>><<set $scene to 0>><</link>><</if>>
<<linkappend "Refuse and fight injured">>
You shake your head. You’ll face the next battle as you are—bloodied, but unbroken.
The shopkeeper shrugs, then calls after you:
<span class="male">“Suit yourself. Just don’t die out there. I hate cleaning up corpses.”</span>
<</linkappend>>
<</if>>
<</linkappend>>
<</if>>
<<elseif $pe eq 6>>
<br><p>The crowd explodes in a roar as your opponent crashes to the ground. You stand, bloodied but unbowed, amidst the shattered remains of the battlefield.</p>
<br><p>You have done it. You are the champion. </p>
you've won tournament :)
<<link "Go back" $city>>
<<set $combatFame +=35 >>
<<set $fame +=35>>
<</link>>
<<elseif $pe eq "lost">>
<<if $roundLost eq "Preliminary">>
<p>You fall to your knees as pain courses through your body. The world fades in and out, and the sect medics rush to your side. You’ve failed to qualify — for now.</p>
<p>But even in defeat, a cultivator learns. You leave the stage, vowing to return stronger next time.</p>
<<link "Go back" $city>>
<<set $combatFame +=2 >>
<<set $fame +=2>>
<</link>>
<<elseif $roundLost eq "Top16">>
<p>You gave everything, but it wasn’t enough. Your opponent bows in respect, and you return the gesture through gritted teeth. Defeat stings, but your journey is far from over.</p>
<p>You leave the arena not as a failure, but as one tempered by combat.</p>
<<link "Go back" $city>>
<<set $combatFame +=4 >>
<<set $fame +=4>>
<</link>>
<<elseif $roundLost eq "Top8">>
<p>The world spins as you hit the ground. This far and no further. Your journey in this tournament ends here — but you have earned recognition and respect. </p>
<p>Perhaps next time, your name will reach the top of the heavens.</p>
<<link "Go back" $city>>
<<set $combatFame +=6 >>
<<set $fame +=6>>
<</link>>
<<elseif $roundLost eq "Top4">>
<p>So close. You almost tasted the summit. As you kneel in exhaustion, your opponent offers you a respectful nod. You have nothing to be ashamed of.</p>
<p>The heavens favor the bold, and your boldness brought you to the very edge. Even in loss, you shine.</p>
<<link "Go back" $city>>
<<set $combatFame +=8 >>
<<set $fame +=8>>
<</link>>
<<elseif $roundLost eq "Top2">>
<p>Your vision blurs as the final blow lands. You fall, but the silence of the crowd is filled with awe, not disappointment. You reached the summit — and though you fell just short, you will be remembered.</p>
<p>This is not the end. The dao is long, and you are far from finished.</p>
<<link "Go back" $city>>
<<set $combatFame +=15 >>
<<set $fame +=15>>
<</link>>
<</if>>
<</if>>
<</nobr>>You wandered for a while, but you couldn't found anything interesting!
<<link "Go back" $passage>> <<set $pe to 0>> <</link>><<set _backgrounds = [
"images/Background/plains.jpg",
"images/Background/mountains.jpg",
"images/Background/forest.jpg"
]>>
<<set _backimg = _backgrounds.random()>>
Difficulty:
Easy:
World - qi: high , herb: high ore: high, price: low
Character - initial stats : standart+ , destiny(nature standart+), resurection stones = 9
monsters: monsters hp - lower, monsdter damage lower, monster ammount - lower
Normal
World - qi: normal , herb: normal ore: normal, price: normal
Character - initial stats : standart , destiny(nature standart), resurection stones = 6
monsters: monsters hp - normal, monsdter damage normal, monster ammount - normal
Hard:
World - qi: low, herb: low ore: low, price: high
Character - initial stats : low , destiny(nature low), resurection stones = 3
monsters: monsters hp - high, monsdter damage high, monster ammount - high
Character creation:
surname
name
lifespan x/y
sex : Femme
race ; human
internal traits -
selfless, upstanding, kind, middle way, wicked, selfish, evil
external traits-
caring loyal to friends protective self centered
family oriented glory hound power hungry vengeful
carefree romantic traditiotanl faithful
selecting destiny(nature) 3 initial desires)
affilation righteous/demonic
Stats:
General:
lifespan
mood
health
stamina
vitality
energy
focus
luck
insight
reputation
charisma
Combat:
atk
def
crit
crit res
agility
Martial arts:
blade
spear
sword
fist
palm
finger
Spiritual root:
fire
water
eletric
wind
earth
wood<<set $breakthroughMethod to "">>
Player starts at *Body Tempering Realm* *Early*
<--Body Tempering Realm to Meridian Awakening Realm -->
*Mortal Path*
Items needed : One Earthly Treasure
*Earthly Path*
Items needed : Three Earthly Treasure
*Heavenly Path*
Items needed : 6 Earthly Treasure
<<set $azureserpentscale to {"name": "Azure Serpent Scale", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "A shimmering scale from an ancient serpent that dwells deep in the misty mountains.", "id": "azureserpentscale"}>>
<<set $moonlitorchidnectar to {"name": "Moonlit Orchid Nectar", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "Collected from a rare orchid that blooms only under the full moon’s light", "id": "moonlitorchidnectar"}>>
<<set $emberheartstone to {"name": "Emberheart Stone", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "A fiery gemstone born from volcanic flames, radiating warmth and vitality.", "id": "emberheartstone"}>>
<<set $silentphoenixfeather to {"name": "Silent Phoenix Feather", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "A single feather from the elusive phoenix, symbolizing rebirth and perseverance.", "id": "silentphoenixfeather"}>>
<<set $ghostvineroot to {"name": "Ghostvine Root", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "The twisted root of a plant growing in haunted forests, infused with mysterious energy.", "id": "ghostvineroot"}>>
<<set $celestialdewdrop to {"name": "Celestial Dewdrop", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "A rare drop of dew gathered from the leaves of a divine tree", "id": "celestialdewdrop"}>>
<<set $windqi to {"name": "Wind Qi", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "The essence of the restless wind.", "id": "windqi"}>>
<<set $flameqi to {"name": "Flame Qi", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "The blazing essence of fire.", "id": "flameqi"}>>
<<set $stormqi to {"name": "Storm Qi", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "Charged with the crackling energy of lightning.", "id": "stormqi"}>>
<<set $spiritqi to {"name": "Spirit Qi", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "A pure, refined Qi that heightens awareness and focus.", "id": "spiritqi"}>>
<<set $earthqi to {"name": "Earth Qi", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "The grounding energy of the earth.", "id": "earthqi"}>>
<<set $frostqi to {"name": "Frost Qi", "strength": 0, "agility": 0, "willpower": 0, "armor": 0, "health": 0, "energy": 0, "evadescore": 0, "price": 150, "tripleprice": 450, "sellprice": 400, "class": "item", "quantity": 0, "description": "The frozing essence of ice", "id": "frostqi"}>>
"Body Tempering Realm": 0,
"Meridian Awakening Realm": 1,
"Foundation Establishment Realm": 2,
"Core Formation Realm": 3,
"Nascent Soul Realm": 4
"Early": 0,
"Middle": 1,
"Late": 2Absolutely — here's a list of **NSFW lines and phrases** an **"arrogant young master"** (AYM) might say in your xianxia game. These can be used during dialogue scenes, erotic events, blackmail interactions, or power-play encounters. The tone ranges from smug, possessive, to outright degrading — fitting the AYM trope.
---
### 🔥 **Possessive / Entitled**
* “A lowly thing like you should be honored I even touched you.”
* “No need to beg — I already decided you're mine.”
* “You think you have a choice? I’ve already marked you.”
* “Your body was made for me — even your moans sound like you're worshipping me.”
* “You dare resist? Let’s see how long that pride lasts.”
---
### 💎 **Status and Power Abuse**
* “I’m the heir of the Crimson Jade Sect. You think anyone would believe you over me?”
* “This spirit stone says you’ll obey. Or do you want your family expelled from the sect?”
* “One word from me and your cultivation career is over… unless you get on your knees.”
* “You think being talented means you don’t have to serve me? Cute.”
* “If you satisfy me, I might just let you attend the next breakthrough ritual.”
---
### 🕶️ **Mocking / Degrading**
* “A mere outer disciple trying to act pure? Don’t make me laugh.”
* “Even with your legs shaking, you’re still pretending you hate it?”
* “Your face says ‘no,’ but this wetness says otherwise.”
* “Crying already? I haven’t even used my real technique yet.”
* “Let’s see how defiant you are after I’ve used you like my toy.”
---
### ⚖️ **Blackmail / Threatening**
* “If you want that antidote, you’ll do exactly as I say.”
* “Drink this. You’ll feel every touch tenfold — unless you’d rather have me use force?”
* “Caught spying? Either you report yourself… or prove your loyalty with your body.”
* “My fiancée is watching. You’ll be the warmup before I bed her.”
* “Every moan I pull from you is proof you belong to me.”
---
### 🐍 **Fake Kindness / Manipulative**
* “I’m generous, unlike others — I’ll reward you with pleasure *and* pills.”
* “You’re lucky I’m the one who caught you. Anyone else would’ve ruined you.”
* “Don’t pretend you’re not enjoying this. Your cultivation benefits too.”
* “Obedience has its perks. Let me show you what a real cauldron feels like.”
* “If you behave, I might even let you sleep in my pavilion instead of the stables.”
---
Would you like me to:
* Categorize by type of scene? (e.g. humiliation, blackmail, reluctant consent)
* Add **responses** the player could make?
* Include **female** versions for arrogant young mistresses?
Let me know how dark, light, or playful you want the tone to be, and I’ll tailor future sets accordingly.Great! Here's a scenario where the player character (PC) encounters an Arrogant Young Master (AYM) in a tavern during travel. This version includes:
Setting description
Dialogue choices
Optional NSFW escalation
Hooks for branching paths
🌙 Scene: "Silken Lotus Tavern" — Evening
The Silken Lotus Tavern buzzes with laughter and clinking cups. Cultivators gather to drink, brag, and flirt. Incense lingers in the air. As you find a seat in the corner, a hush falls.
A richly dressed cultivator in embroidered robes strides in — fan in hand, smug smile curling on his lips. His eyes land on you.
🗣️ Dialogue (Arrogant Young Master)
AYM: “Well, well… a wandering rogue? Or a desperate outer disciple? I see you’ve never tasted real wine — or real pleasure.”
He leans in, lowering his fan.
AYM: “I’ll offer you a night you'll never forget. My bed is warmer than that sorry excuse of a robe you're wearing.”
💬 Player Choices
🥶 “I’m not interested. Walk away.”
→ AYM gets offended. Triggers humiliation/duel option.
🐍 “Only if you can afford me.”
→ Leads to flirtation, gold/bribe scene.
💢 “One more word, and you’ll be coughing blood.”
→ Triggers potential combat/sect interference.
🔥 [NSFW] “Show me what you’ve got, young master.”
→ Leads to erotic domination/submission scene.
😶 Stay silent and wait.
→ He grabs your chin or makes a bolder move.
🔥 NSFW Escalation Options
If the player accepts:
You’re led upstairs into his private suite. He tosses wine onto the floor like it’s beneath him.
AYM: “You’ll kneel. Now. Consider this your sect test.”
He unfastens his robe with a snap, cocky grin never leaving his face.
"Don’t worry — I’ll break you in like a new furnace cauldron."
Scene Ideas:
Powerplay (PC used as toy/cauldron)
Aphrodisiac-laced wine
Binding formation traps PC
PC can pretend to go along to steal from him later
📜 Follow-up Possibilities
🩸 You defeat or humiliate him → He swears revenge; later tries to sabotage you during sect entrance exam.
💍 He becomes obsessed → Sends gifts, claims you as “his person.”
🐉 He’s from a major sect → This triggers reputation effects and future political consequences.
💋 You seduce him → Can blackmail, steal a technique scroll, or earn rare pills.Certainly. Here's a **list of NSFW dialogue lines** an **Arrogant Young Master (AYM)** might say in **a tavern** or during **a travel encounter** when he crosses paths with the player character (PC). These lines reflect his **narcissism**, **sexual entitlement**, and **cultivation-based arrogance** — a classic xianxia trope twisted for erotic flavor.
---
### 🏮 **NSFW Lines in a Tavern**
1. **“This seat is taken. By me. And you — on my lap.”**
2. **“You should feel honored… dozens beg to warm my bed. Yet here I am, offering you the chance first.”**
3. **“I could buy this entire tavern and make you serve only me — naked, on all fours.”**
4. **“You’ve cultivated what, ten years? I could make you ascend in one night… if you beg properly.”**
5. **“You reek of mediocrity. But that body? That deserves to be tamed by someone like me.”**
6. **“The last one who refused me now scrubs my sect robes. Naked.”**
7. **“Careful. Keep looking at me like that, and I’ll have you bent over the table.”**
8. **“Your lips would look better sealed around my— oh? Embarrassed already?”**
9. **“Let me guess — you’re still pure? I’ll fix that. Consider it a cultivation lesson.”**
10. **“In my bed, I don’t tolerate disobedience. Or clothes.”**
---
### 🌲 **NSFW Lines During Travel**
1. **“Even the wild beasts bow when I pass. You should do the same. On your knees.”**
2. **“Why waste time chasing herbs? I’ve got something far more potent to stuff you with.”**
3. **“I’ll pitch my tent. You’ll warm it. Simple.”**
4. **“Every time I camp here, the locals offer their daughters. Yet you dare resist?”**
5. **“I could break your cultivation bottleneck… with one night under me.”**
6. **“I’ll press you against that tree and make you scream like a spirit beast in heat.”**
7. **“Say ‘no’ and I’ll bind you. Say ‘yes’ and I’ll make you my prized furnace.”**
8. **“One look at you, and my yang energy flares up. Take responsibility.”**
9. **“Don’t bother resisting. Your body’s already answering me.”**
10. **“You think that robe hides you? I can see the curves, trembling. Shall I test how sensitive you are?”**
---
Want these organized by **dominant/submissive tone**, or need a **female version** (e.g., arrogant young mistress)? I can also provide **branching responses** based on player attitude — resistance, teasing, or seduction.Scene: Roadside Encounter (While Traveling)
The dusty road winds through a tranquil forest, the rustling leaves whispering secrets of Qi. Just ahead, the sound of hooves and laughter shatters the serenity.
A lavishly adorned carriage blocks your path, flanked by guards in ornate armor. From atop a white spirit beast steps a man dressed in robes far too fine for these wilds — eyes gleaming with arrogance, lips curled into a smirk.
“What luck,” he drawls, gaze roaming over you like a collector appraising a rare treasure. “This road truly offers… exquisite scenery.”
You sense it instantly — the overwhelming ego, the subtle spiritual pressure — and worse, the unmistakable glint of lust.
The Arrogant Young Master has noticed you.
Do you engage him… or try to walk away?
🍶 Scene: Tavern Encounter
The tavern is loud, hazy with wine vapor and thick with Qi-rich incense. You’re only halfway through your meal when the door swings open, silencing the room.
A man enters — tall, pampered, exuding wealth and power. His followers part the crowd with practiced ease, clearing a path to your table.
“You. Move,” he commands another patron with a flick of his sleeve. Then his eyes settle on you.
“Hmm… now you are something worth claiming. Such beauty shouldn't be left unguarded in a den like this.”
He slides into the seat across from you, uninvited, his confidence dripping like spilled wine.
“Tell me your name, or shall I make up a pet one for you?”
The Arrogant Young Master clearly believes your body — and time — belong to him.
How do you respond?<<set _randomtalk to [
"What luck. This road truly offers… exquisite scenery.",
"Hmm… now *you* are something worth claiming.",
"Tell me your name, or shall I make up a pet one for you?",
"You must be lost. Beautiful things don’t belong on roads like this.",
"That face… I’ll be dreaming of it tonight. Or perhaps not just dreaming.",
"Are you a rogue cultivator? Or just playing hard to get?",
"Heh. You have the eyes of someone begging to be tamed.",
"You know, if you beg sweetly, I might let you serve me at my pavilion.",
"I always take what's mine. And today… I’ve found something new to own.",
"Don't look away. You’ll only make me chase harder."
]>>
<!-- Intro scene for travel or tavern encounter -->
<div class="scene-intro">
The air shifts. Whether it's the dusty road beneath your boots or the wine-soaked floorboards of a crowded tavern, you can feel it — the weight of ego entering the space before the man even speaks.
Silk robes flutter. Followers part crowds or block roads. The aura of wealth and unearned power clings to him like perfume.
He eyes you like a hunter spotting prey too slow to flee.
<b><<print _randomtalk.random()>></b>
</div>
“I name my sword. I name my beasts. Why not name you, too?”
“You think dual cultivation is mutual? No. You serve while I ascend.”
“You’re a pill furnace with legs. I’ll test how well you refine yang energy.”
“A single touch from me and your knees buckle. Imagine what happens when I go deeper.”<<AddItemToInventory $bloodhardeningherb>>
<<AddItemToInventory $vitalityroot>>
<<AddItemToInventory $temperedbonefragment>>
<<for _a = 0; _a < $known_npc_list.length; _a++>>
<<set _npcinfo = $known_npc_list[_a]>>
<<print _npcinfo.fullname>> <<print _npcinfo.relationshipType>>
<</for>>
<<ArrogantYoungMaster>>
_fullname of _clanCorruption Score Label Behavior/Unlocks
0–10 Pure-hearted Refuses or avoids sexual temptation; strong resistance to seduction.
11–25 Chaste Can have sex in romance paths, but resists casual or transactional encounters.
26–50 Curious Open to sex if the mood or opportunity is right. Willing in certain circumstances.
51–75 Liberated Enjoys sex openly, including with strangers or for minor rewards.
76–90 Wanton Craves sexual attention. Will initiate or seek out casual sex or risky liaisons.
91–100 Debauched / “Whore” Has lost most sense of restraint; may prostitute self or use sex to gain power.
🥈 Variant 2: PC Loses Round – Junior Ends Up on Top<<widget "MainMissionStart">>
<<if $mainStageStarted eq "false">>
<<set _chance to (0,100)>>
<<if _chance gt 50>>
As you move through the dense forest on the map, something unusual catches your eye. A faint glow pulses from behind a cluster of ancient rocks nearby.
Do you want to investigate?
<<link "Yes" "MainMissionStart">><<set $pe to 0>><</link>>
<</if>>
<</if>>
<<if $mainStageStarted eq "true" and $mainStage eq 0>>
As you wander through region, you feel strange energy in the air, as if it were calling out to you...
Do you want to investigate?
<<link "Yes" "MainMissionStart">><<set $pe to 0>><</link>>
<</if>>
<</widget>>🌿1. Body Tempering Realm
Early, Middle, Late
Strengthens body, organs, and bones.
🌬 2. Meridian Awakening Realm
Early, Middle, Late
Opens and stabilizes meridians.
🔥 3. Qi Condensation Realm
Early, Middle, Late
Draws in qi and begins inner circulation.
🪨 4. Foundation Establishment Realm
Early, Middle, Late
Lays spiritual foundation, opens the dantian.
💠 5. Core Formation Realm
Crystallizing Stage
Golden Core Stage
Perfect Core Stage
Forms and refines the cultivator's Golden Core. A core may be unstable, stable, or flawless.
🌀 6. Soul Manifestation Realm
Soul Echo
Soul Projection
True Soul
The soul begins to influence the world; can interact with spiritual realms.
🌌 7. Nascent Void Realm
Void Seed
Void Bloom
Void Body
The cultivator manifests powers of space and void.
🌙 8. Enlightenment Realm
Insight of Dao
Will of Dao
Harmony with Dao
Understands natural law; may create unique abilities based on Dao comprehension.
🔮 9. Spirit Ascension Realm
Spirit Calling
Spirit Merging
Spirit Sovereign
Connects to celestial planes; cultivator may form a divine domain or avatar.
🌠 10. Transcendence Realm (Final Realm)
Mortal Transcendence
Celestial Ascension
Heavenbreaker<div id="choice">\
<<link "Obey him. Crawl.">><<set $backgroundClass to "tavern">>
<<replace "#choice">>
The words hang in the air like poison.
<</replace>>
<</link>>
<<link "Refuse with pride.">>
<<replace "#choice">>
You cross your arms and stare him down, utterly unmoved.
<</replace>>
<</link>>
<<link "Mock him back.">>
<<replace "#choice">>
<</replace>>
<</link>>
<img @src="'images/' + _npcinfo.enemyregion + '/' +_npcinfo.enemyimage + '.jpg'" style="float: left;">
$plot1Mentor.fullname <-------------- MAP 1 SECT MASTER!<<widget "PatrolPerimeter01Submissive">>
<<nobr>>
<<if $npcFinished neq true>>
<<if !$cumcount>>
<<set _randomtalk1 to $playerJuniorSexBeg.random()>>
<br>You bite your lip and let out a soft whimper. <span class="player">_randomtalk1</span>
<br>He grins - slow and satisfied - as if he’d been waiting for that exact sound.
<br><span class="male1">“There’s my obedient Senior…”</span> His hand slips past the last barrier, fingers gliding between your folds. He strokes you deliberately, watching every twitch, every breath you take.
<br><span class="male1">“You're soaking,”</span> he murmurs, voice roughening. <span class="male1">“Just from a little teasing? You're too easy.”</span>
<</if>>
<<if !$cumcount>> <<set $cumcount = 0>><</if>><<if !$position>> <<set $position = "">><</if>><<if !$npcFinished>><<set $npcFinished = false>><</if>>
<div id="sceneDisplay">
<<if $virginity eq 1>>
<<set $virginity = 0>>
<<set $virginityLost = "One of your juniors">>
<span class="red">You lost your virginity to $virginityLost!</span>
<</if>>
<<if $position eq "straddle">>
<<set _straddle to ["lotus1", "lotus2", "lotus3"].random()>>
<div style="position: relative; width: 70%; height: auto;"><<BackgroundHandler>><img @src="'images/Sex/' + _straddle + '.png'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"></div>
You let him guide you into his lap, legs parting around his hips. He sits back against the tree, and you settle atop him, robes bunching around your thighs.
His hands grip your waist as he positions himself, teasing your entrance with the tip of his cock.
<br><span class="male1"> “So eager,”</span> he breathes. <span class="male1">“Do you want it, Senior?”</span>
<br>You nod quickly, trembling slightly.
<<set _randomNPCtalk to $dominantDialogueNPC.random()>>
<<set _randomPCtalk to $submissiveDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He slides into you slowly, relishing every inch. You moan softly, burying your face in his shoulder as he begins to thrust up into you.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
<<if $position eq "bent">>
<<set _bent to ["bentover", "bentover1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _bent + '.jpeg'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<br>He turns you gently, guiding you to brace against the tree. You obey without protest, bending forward as your robes are lifted and pushed aside.
<br><span class="male1">“So obedient,”</span> he says with a satisfied hum. <span class="male1">“That’s what I like.”</span>
<br>His hands grip your hips firmly, and then he's pressing into you from behind, slow and deep. You gasp, arching under him.
<br><span class="male1">“You feel that?”</span> he murmurs, grinding into you. <span class="male1">“You take it so well…”</span>
<<set _randomNPCtalk to $dominantDialogueNPC.random()>>
<<set _randomPCtalk to $submissiveDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He picks up the pace, thrusting into you with a steady rhythm. You can feel his breath against your neck, hot and heavy.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
<<if $position eq "tree">>
<<set _tree to ["standingsex", "standingsex1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _tree + '.jpeg'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<br>He presses you back against the tree, lifting one of your legs. You gasp, wrapping it around his waist as he aligns himself.
<br><span class="male1">“Stay right there,”</span> he whispers. <span class="male1">“Let me do everything.”</span>
<br>You nod, shivering in anticipation.
<br>He pushes into you, pinning you firmly in place, mouth hot against your neck. You can’t move-only take what he gives you.
<br><span class="male1">“That’s it,”</span> he groans. <span class="male1">“Good girl.”</span>
<<set _randomNPCtalk to $dominantDialogueNPC.random()>>
<<set _randomPCtalk to $submissiveDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He thrusts into you with a steady rhythm, his hands gripping your hips tightly. You can feel the rough bark of the tree against your back, grounding you as he takes control.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
</div>
<<if $cumcount < 3>>
<p><strong>Change Position:</strong></p>
<ul>
<<if $position != "straddle">>
<li>
<<link "Straddle his lap" $missionpassage>>
<<set $position to "straddle">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "bent">>
<li>
<<link "Bent over" $missionpassage>>
<<set $position to "bent">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "tree">>
<li>
<<link "Pinned to tree" $missionpassage>>
<<set $position to "tree">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
</ul>
<</if>>
<div id="positionOptions"></div>
<<if $cumcount >= 3 and !$npcFinished>>
<<set _roll = random(1, 100)>>
<<if _roll <= 25>>
<<set $npcFinished = true>>
<p><strong>Without warning, he groans and finishes inside you, unable to hold back any longer.
<<MissionFinish>></strong></p>
<<else>>
<p><strong>He's right on the edge. Where should he finish?</strong></p>
<div id="choice">
<p><<linkreplace "Inside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You clench around him, pulling him deeper as he releases inside.
<<MissionFinish>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "Outside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You pull away just in time, and he finishes across your belly.
<<MissionFinish>>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "On your back">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You fall to your knees, and he finishes across your back.
<<MissionFinish>>
<</replace>>
<</linkreplace>>
</div>
<</if>>
<</if>>
<</if>>
<</nobr>>
<</widget>>
<<widget "PatrolPerimeter01Dominant">>
<<nobr>>
<<if $npcFinished neq true>>
<<if !$cumcount>>
<br>You catch his wrist just as his fingers graze your clit.
<br><span class="player">“Don’t tease me,”</span> you say, voice firm. <span class="player">“Touch properly or don’t touch at all.”</span>
<br>His eyes widen slightly - surprised, but far from displeased.
<br><span class="male1">“Ah… Senior has claws,”</span> he says with a smirk. “I like that.”
<br>You guide his hand exactly where you want it, rocking your hips against his fingers until the teasing melts into something more satisfying. His breath hitches.
<br><span class="player">“You think I’ll let a junior control the pace?”</span> you murmur. <span class="player">“You’re here to please me.”</span>
<br><span class="male1">“Y-Yes, Senior…”</span>
<br>You keep hold of him, making him work under your direction, watching how easily he yields when pushed.
<</if>>
<<if !$cumcount>> <<set $cumcount = 0>><</if>>
<<if !$position>> <<set $position = "">><</if>>
<<if !$npcFinished>> <<set $npcFinished = false>><</if>>
<div id="sceneDisplay">
<<if $virginity eq 1>>
<<set $virginity = 0>>
<<set $virginityLost = "One of your juniors">>
<span class="red">You lost your virginity to $virginityLost!</span>
<</if>>
<<if $position == "straddle">>
<<set _straddle to ["lotus1", "lotus2", "lotus3"].random()>>
<div style="position: relative; width: 70%; height: auto;"><<BackgroundHandler>><img @src="'images/Sex/' + _straddle + '.png'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"></div>
<br>You push him back against the tree and straddle his lap, taking what you want.
<br><span class="male1">“Senior knows what she wants, huh?”</span> he teases, but there’s reverence in his eyes.
<br>You guide his cock to your entrance, lowering yourself slowly with a satisfied sigh.
<br><span class="player">“You’ll sit still,”</span> you murmur, hips rolling. <span class="player">“I’ll do the rest.”</span>
<br>His fingers dig into your thighs as you ride him-slow, commanding, completely in control.
<<set _randomNPCtalk to $submissiveDialogueNPC.random()>>
<<set _randomPCtalk to $dominantDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He slides into you slowly, relishing every inch. You moan softly, burying your face in his shoulder as he begins to thrust up into you.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
<<if $position == "bent">>
<<set _bent to ["bentover", "bentover1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _bent + '.jpeg'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<br>You turn around and bend over the tree yourself, giving him a pointed look over your shoulder.
<br><span class="player">“Well?”</span> you ask. <span class="player">“Are you going to stand there staring, or fuck me properly?”</span>
<br>He exhales sharply and steps in behind you, hands on your hips. You feel the tremor in his fingers as he lines up.
<br><span class="male1">“Y-Yes, Senior…”</span>
<br>He thrusts into you, trying to match your pace as you push back against him.
<<set _randomNPCtalk to $submissiveDialogueNPC.random()>>
<<set _randomPCtalk to $dominantDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He picks up the pace, thrusting into you with a steady rhythm. You can feel his breath against your neck, hot and heavy.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
<<if $position == "tree">>
<<set _tree to ["standingsex", "standingsex1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _tree + '.jpeg'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
You grip his robe and shove him back against the tree. Before he can react, you hike your leg up and pull him into place.
<br><span class="player">“You think you’re in charge?”</span> you murmur, guiding him into you. <span class="player">“Not tonight.”</span>
<br>He groans as you grind against him, his hands scrambling for purchase.
<br><span class="male1">“Fuck… you’re incredible…”</span>
<br>You keep control of the rhythm, using his body however you like.
<<set $righteousreputation += 2>>
<<set _randomNPCtalk to $submissiveDialogueNPC.random()>>
<<set _randomPCtalk to $dominantDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He thrusts into you with a steady rhythm, his hands gripping your hips tightly. You can feel the rough bark of the tree against your back, grounding you as he takes control.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
</div>
<<if $cumcount < 3>>
<p><strong>Change Position:</strong></p>
<ul>
<<if $position != "straddle">>
<li>
<<link "Straddle his lap" $missionpassage>>
<<set $position to "straddle">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "bent">>
<li>
<<link "Bent over" $missionpassage>>
<<set $position to "bent">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "tree">>
<li>
<<link "Pinned to tree" $missionpassage>>
<<set $position to "tree">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
</ul>
<</if>>
<div id="positionOptions"></div>
<<if $cumcount >= 3 and !$npcFinished>>
<<set _roll = random(1, 100)>>
<<if _roll <= 25>>
<<set $npcFinished = true>>
<p><strong>Without warning, he groans and finishes inside you, unable to hold back any longer.
<<MissionFinish>></strong></p>
<<else>>
<p><strong>He's right on the edge. Where should he finish?</strong></p>
<div id="choice">
<p><<linkreplace "Inside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You clench around him, pulling him deeper as he releases inside.
<<MissionFinish>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "Outside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You pull away just in time, and he finishes across your belly.
<<MissionFinish>>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "On your back">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You fall to your knees, and he finishes across your back.
<<MissionFinish>>
<</replace>>
<</linkreplace>>
</div>
<</if>>
<</if>>
<</if>>
<</nobr>>
<</widget>>
<<widget "PatrolPerimeter01Neutral">>
<<nobr>>
<<if $npcFinished neq true>>
<<if !$cumcount>>
<<set _randomtalk1 to $playerJuniorSexBeg.random()>>
<br>You bite your lip and let out a soft whimper. <span class="player">_randomtalk1</span>
<br>He grins - slow and satisfied - as if he’d been waiting for that exact sound.
<br><span class="male1">“There’s my obedient Senior…”</span> His hand slips past the last barrier, fingers gliding between your folds. He strokes you deliberately, watching every twitch, every breath you take.
<br><span class="male1">“You're soaking,”</span> he murmurs, voice roughening. <span class="male1">“Just from a little teasing? You're too easy.”</span>
<</if>>
<<if !$cumcount>> <<set $cumcount = 0>><</if>><<if !$position>> <<set $position = "">><</if>><<if !$npcFinished>><<set $npcFinished = false>><</if>>
<div id="sceneDisplay">
<<if $virginity eq 1>>
<<set $virginity = 0>>
<<set $virginityLost = "One of your juniors">>
<span class="red">You lost your virginity to $virginityLost!</span>
<</if>>
<<if $position == "straddle">>
<<set _straddle to ["lotus1", "lotus2", "lotus3"].random()>>
<div style="position: relative; width: 70%; height: auto;"><<BackgroundHandler>><img @src="'images/Sex/' + _straddle + '.png'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);"></div>
You let him guide you into his lap, legs parting around his hips. He sits back against the tree, and you settle atop him, robes bunching around your thighs.
His hands grip your waist as he positions himself, teasing your entrance with the tip of his cock.
<br><span class="male1"> “So eager,”</span> he breathes. <span class="male1">“Do you want it, Senior?”</span>
<br>You nod quickly, trembling slightly.
<<set _randomNPCtalk to $dominantDialogueNPC.random()>>
<<set _randomPCtalk to $submissiveDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He slides into you slowly, relishing every inch. You moan softly, burying your face in his shoulder as he begins to thrust up into you.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
<<if $position == "bent">>
<<set _bent to ["bentover", "bentover1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _bent + '.jpeg'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<br>He turns you gently, guiding you to brace against the tree. You obey without protest, bending forward as your robes are lifted and pushed aside.
<br><span class="male1">“So obedient,”</span> he says with a satisfied hum. <span class="male1">“That’s what I like.”</span>
<br>His hands grip your hips firmly, and then he's pressing into you from behind, slow and deep. You gasp, arching under him.
<br><span class="male1">“You feel that?”</span> he murmurs, grinding into you. <span class="male1">“You take it so well…”</span>
<<set _randomNPCtalk to $dominantDialogueNPC.random()>>
<<set _randomPCtalk to $submissiveDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He picks up the pace, thrusting into you with a steady rhythm. You can feel his breath against your neck, hot and heavy.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
<<if $position == "tree">>
<<set _tree to ["standingsex", "standingsex1"].random()>>
<div style="position: relative; width: 70%; height: auto;">
<<BackgroundHandler>>
<img @src="'images/Sex/' + _tree + '.jpeg'" style="width: 100%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);">
</div>
<br>He presses you back against the tree, lifting one of your legs. You gasp, wrapping it around his waist as he aligns himself.
<br><span class="male1">“Stay right there,”</span> he whispers. <span class="male1">“Let me do everything.”</span>
<br>You nod, shivering in anticipation.
<br>He pushes into you, pinning you firmly in place, mouth hot against your neck. You can’t move-only take what he gives you.
<br><span class="male1">“That’s it,”</span> he groans. <span class="male1">“Good girl.”</span>
<<set _randomNPCtalk to $dominantDialogueNPC.random()>>
<<set _randomPCtalk to $submissiveDialoguePC.random()>>
<br><span class="male1">"_randomNPCtalk"</span>
<br>He thrusts into you with a steady rhythm, his hands gripping your hips tightly. You can feel the rough bark of the tree against your back, grounding you as he takes control.
<br><span class="player">"_randomPCtalk"</span>
<</if>>
</div>
<<if $cumcount < 3>>
<p><strong>Change Position:</strong></p>
<ul>
<<if $position != "straddle">>
<li>
<<link "Straddle his lap" $missionpassage>>
<<set $position to "straddle">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "bent">>
<li>
<<link "Bent over" $missionpassage>>
<<set $position to "bent">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
<<if $position != "tree">>
<li>
<<link "Pinned to tree" $missionpassage>>
<<set $position to "tree">>
<<set $cumcount += 1>>
<<replace "#sceneDisplay">><</replace>>
<<replace "#positionOptions">><</replace>>
<</link>>
</li>
<</if>>
</ul>
<</if>>
<div id="positionOptions"></div>
<<if $cumcount >= 3 and !$npcFinished>>
<<set _roll = random(1, 100)>>
<<if _roll <= 25>>
<<set $npcFinished = true>>
<p><strong>Without warning, he groans and finishes inside you, unable to hold back any longer.
<<MissionFinish>></strong></p>
<<else>>
<p><strong>He's right on the edge. Where should he finish?</strong></p>
<div id="choice">
<p><<linkreplace "Inside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You clench around him, pulling him deeper as he releases inside.
<<MissionFinish>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "Outside">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You pull away just in time, and he finishes across your belly.
<<MissionFinish>>>
<</replace>>
<</linkreplace>>
<p><<linkreplace "On your back">> <<set $npcFinished = true>></p>
<<replace "#choice">>
You fall to your knees, and he finishes across your back.
<<MissionFinish>>
<</replace>>
<</linkreplace>>
</div>
<</if>>
<</if>>
<</if>>
<</nobr>>
<</widget>>Image of portal >.<
<<link "Go back" $passage>><</link>>
You're currently at $region
From this place you can use portal to:
<<set _destinations = [
{name:"Ghost King Netherworld Sect", region:"Ghost King Netherworld Sect", passage:"GhostKingNetherworldSect", x:9, y:12},
{name:"Clear Sky Azure Dragon Pavilion", region:"Clear Sky Azure Dragon Pavilion", passage:"ClearSkyAzureDragonPavilion", x:1, y:6},
{name:"Jade Creek Town", region:"Jade Creek Town", passage:"Jade Creek Town", x:2, y:12}
]>>
<p>You stand before a glowing portal. Where will you go?</p>
<<nobr>>
<<for _d range _destinations>>
<<if $region !== _d.region>>
<<if $gold >= 25>>
<li>
<<capture _d>>
<<link "Teleport to ">>
<<set $gold -= 25>>
<<set $region = _d.region>>
<<set $playerX = _d.x>>
<<set $playerY = _d.y>>
<<goto _d.passage>>
<</link>> (Cost: 25 gold) _d.name
<</capture>>
</li>
<<else>>
<li><span style="opacity:0.5">Teleport to [_d.name] (Not enough gold!)</span></li>
<</if>>
<<else>>
<li><span style="opacity:0.5">Already at [_d.name]</span></li>
<</if>>
<</for>>
<</nobr>>